#include <stdio.h>
#include <ctype.h>
int main()
{
char ch = 0;
while (~scanf("%c\n", &ch))
{
if (isupper(ch))
printf("%c\n", tolower(ch));
else
printf("%c\n", toupper(ch));
}
return 0;
}
这是结果
你把\n去掉就好了,不然还得读取回车
while (~scanf("%c", &ch))
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch = 0;
while (~scanf("%c", &ch))
{
if (isupper(ch))
printf("%c", tolower(ch));
else
printf("%c", toupper(ch));
}
return 0;
}
正确写法是while (scanf("%c", &ch) == 1)
,因为scanf()的返回值也可能是EOF(-1)