这就是密码我以为会成功。它应该让我输入input,然后告诉我空格,数字,字母和其他的数量。但它只是提供输入,而不是给我输出。
#include <stdio.h>
int main(void)
{
int blanks = 0, digits = 0, letters = 0, others = 0;
char c;
printf("Im working");
while ((c = scanf("%c", &c)) != EOF)
{
if (c == ' ')
++blanks;
else if (c >= '0' && c <= '9')
++digits;
else if (c >= 'a' && c <= 'z')
++letters;
else if (c >= 'A' && c <= 'Z')
++letters;
else
++others;
};
printf("blanks = %d, digits = %d, letters = %d, others = %d\n\n",
blanks, digits, letters, others);
return 0;
}
字符串
1条答案
按热度按时间juud5qan1#
代码将读取标准输入,直到文件结束。为了从终端发出文件结束的信号,您应该键入Ctrl-D(在UNIX系统上)或Ctrl-Z(在Windows上)并按Enter键。
但是请注意,您在测试
while ((c = scanf("%c", &c)) != EOF)
中覆盖了c
,因此字符分类测试将只增加others
。你应该只测试返回值:字符串
或者,您可以将
c
定义为int
并写入:型