C語言,用指標進行字串反轉ToUpper StrintFind ToLower
// Reverse.cpp : 定義控制檯應用程式的入口點。
//
#include “stdafx.h”
#include <string.h>
//字串反轉 str是char型別的字串
void reverse(char* str)
{
int i = strlen(str)-1;
int j = 0;
while (j<=i/2)
{
char temp =*(str+j);
(str+j) =(str+i-j);
*(str+i-j) = temp;
j++;
}
}
int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));
char str[] = “abcxyz1234”;
reverse(str);
return 0;
}
void reverse1(char* str)
{
char* p = str;
do
{
++p;
}while (*p);
p–;
while (p>str)
{
char t = *str;
*str = *p;
*p = t;
p--;
str++;
}
}
int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));/
char s[] = “abcxyz1234”;
reverse1(s);
return 0;
}
void reverse1(char* str)
{
char* p = str;
while (*p)
{
++p;
}
while (--p>str)
{
char t = *str;
*str = *p;
*p = t;
str++;
}
}
int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));/
char s[] = “abcxyz1234”;
//char *p = “abcxyz1234”;//常量區的內容是隻讀的,不能寫入,寫入就崩潰
// reverse1§;//
reverse1(s);
return 0;
}
int StrintFind(char* s, char c)
{
int i = 0;
while (*s)
{
if (*s == c)
return i;
i++;
s++;
}
return 0;
}
void StringToUpper(char* str)
{
while (*str)
{
if (*str >= ‘a’ && *str <= ‘z’)
str -= ‘a’ - ‘A’;
str++;
}
}
void StringToLower(char str)
{
while (*str)
{
if (*str >= ‘A’ && *str <= ‘Z’)
*str += ‘a’ - ‘A’;
str++;
}
}
int main()
{
/char str[80];
scanf_s("%s", str, sizeof(str));/
//char s[] = “abcxyz1234”;
char s[80];
char *p = “123456xyz”;//p在常量區,不可寫入,只能讀取。
strcpy_s(s,sizeof(s), p);//拷貝之後的s存在棧中,可讀可寫。
char c = ‘x’;
int n;
n=StrintFind(s,c);
StringToUpper(s);
StringToLower(s);
reverse1(s);
return 0;
}