分析:
首先我们需要了解的是字符大小写的规律是怎样的,在C语言中,每一个英文字母都有对应的ASCⅡ码,我们通常都以十进制为准,大写字母A-Z的十进制ASCⅡ码为65-90,小写字母a-z的ASCⅡ码为97-122,细心的朋友可以发现同一个大写字母和小写字母之间ASCⅡ码差值为32,所以我们可以依靠这个条件来作为转换条件。
代码:
#include "stdio.h"
#include "windows.h"
int main(){
//先定义一个长度为100的字符串
int str[100],ch,i;
printf("Input a str\n");
//用getchar方法来输入,并将获取到的用户输入的字符赋值给变量ch
for(i=0;(ch=getchar())!='\n';++i){
//将ch接收到的字符存储到字符串str中
str[100]=ch;
//判断条件,如果字符为小写,则加上32得到大写字母
if(str[100]>='A' && str[100]<='Z'){
str[100]+=32;
}else{
str[100]-=32;
}
//最后输出为字符串,所以我们的格式符需要为%c,且不需要加地址符
printf("%c\n",str[100]);
}
system("pause");
}