要知道在ASCII表里大写字母加32为小写字母,小写字母减32为大写字母。
所以就完成了。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char str[100] = { 0 };
void Change(char *p,int str_length)
{
int i = 0;
for (i = 0; i < str_length; i++)
{
if (p[i] >= 'a' && p[i] <= 'z')
{
p[i] -= 32;
}
else if (p[i]>'A'&&p[i] <= 'Z')
{
p[i] += 32;
}
else
{
p[i] = p[i];
}
}
}
int main()
{
char* p = NULL;
int str_length = 0;
int i = 0;
printf("输入字符串:>");
gets_s(str, 100);
str_length = strlen(str);
p = str;
if (p != NULL)
{
Change(p,str_length);
printf("%s\n", str);
}
else
{
exit(EXIT_FAILURE);
}
return 0;
}