我的代码没有返回任何值。谁能帮我解释一下为什么它不起作用?
#include<stdio.h>
int main()
{
int nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%1d\n", nc);
}
最佳答案
您必须输入EOF
才能跳出循环。
Windows:Ctrl+Z
Linux:Ctrl+D
只有在getchar()
返回EOF
之后才会打印nc
的值。
并且 %1d
实际上与 %d
相同,因为数字至少有一位数字。
如果您执行 %10d
或其他操作,则会打印出数字,并占据 10 位数字所占据的空间。默认对齐方式是右对齐。
您可以使其左对齐 %-10d
关于C中的字符计数在输入字符后不会返回任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48415527/