大写字母转小写,小写字母转大写

为什么这都能有问题,我看了半天没看出来
#include "stdio.h"
#include "string.h"
int main()
{
char str[100];
int i,t;
gets(str);
t=strlen(str);
for(i=0;i<t;i++)
{
if(str[i]>='a'&&str[i]<='z')
str[i]-=32;
if(str[i]>='A'&&str[i]<='Z')
str[i]+=32;
}
puts(str);
return 0;
}

小写转大写,大写转小写本身就是一个互斥事件,你第一个使用if下面那个要使用else

img


if(str[i]>='A'&&str[i]<='Z')
改为
else if(str[i]>='A'&&str[i]<='Z')