有2个错误:
小写字母要减,大写的要加
两个if 并列的话,前一个并大写后一个马上又变回小写。两个if 是 if _ else if 的关系
#include<stdio.h>
#include<string.h>
int main ()
{
char a[500];
gets(a);
for(int i=0; i<strlen(a); i++){
if (a[i]<='z' && a[i]>='a')
a[i] -= 32;
else if (a[i]<='Z' && a[i]>='A')
a[i] += 32;
}
puts(a);
return 0;
}