初心沫白c 发表于 2022-8-17 17:47:42

else去除引发的问题

#include <stdio.h>

int main()
{
                int a;
               
                printf("输入");
               
                while((a = getchar()) != '\n')
                {
                                if(a>='A' && a<='Z')//这部分不起作用
                                {
                                                a = a - 'A' + 'a';
                                }
                                else if(a>='a' && a<='z')//为何else去除
                                {
                                                a = a - 'a' + 'A';
                                }
                                putchar(a);
                }
                                putchar('\n');
               
                return 0;
}

临时号 发表于 2022-8-17 18:03:12

如果去除了else,那么当你输入A后
首先,a>='A' && a<='Z'的条件满足,此时a = 'a'
然后,由于a = 'a',所以a = a - 'a' + 'A'的条件满足,此时a = 'A'
所以要加else

初心沫白c 发表于 2022-8-17 18:04:59

感谢{:10_257:}
页: [1]
查看完整版本: else去除引发的问题