问题遇到的现象和发生背景
用getchar输入没问题,但用scanf就不行了,怎么用scanf输入呢?
问题相关代码,请勿粘贴截图
#include <stdio.h>
int main() {
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:");
scanf("%s",&c);
while (c='\n') {
if (c >= 'a'&&c <= 'z' || c >= 'A'&&c <= 'Z') {
letters++;
} else if (c == ' ') {
space++;
} else if (c >= '0'&&c <= '9') {
digit++;
} else {
other++;
}
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符:%d\n",letters,space,digit,other);
return 0;
}
运行结果及报错内容
我的解答思路和尝试过的方法
是因为while循环没结束吗?搞不懂