为什么大写可以转换为小写,小写却转换不了大写?


#include <ctype.h>
int main()
{
    char arr1;
    int sum1;
    printf("请输入一个字符\n");
    scanf("%c",&arr1);
    sum1=islower(arr1);
    if(sum1=1){arr1=toupper(arr1);//如果是小写,改为大写 
    printf("改变后的字符为%c\n",arr1);}
    else{arr1=tolower(arr1);//否则改为小写 
    printf("改变后的字符为%c\n",arr1);}
    return 0;
}

为什么大写可以转换为小写,小写却转换不了大写?

因为你这里 if 判断是赋值语句,sum1 =1 一直成立

if (sum1 = 1)
// 改成
if (sum1)