为什么循环跳不出来?
#include<stdio.h>
main()
{
int sum=0;
int c;
while ((c=getchar()) !=EOF)
{sum+=c;
c=getchar();
}
printf("%d",sum);
}
开始以为输入-1可以跳出循环,但未遂,后来查了一下,EOF输入是ctrl+z,跳出循环但是结果不对,后来把EOF改成整数0,输入0还是跳不出循环,请指教!谢谢!
#include<stdio.h>
main()
{
int sum=0;
int c;
while ((c=getchar()) !=EOF)
{sum+=c;
c=getchar();
}
printf("%d",sum);
}
开始以为输入-1可以跳出循环,但未遂,后来查了一下,EOF输入是ctrl+z,跳出循环但是结果不对,后来把EOF改成整数0,输入0还是跳不出循环,请指教!谢谢!
也对
我想当然地认为他是想计算ASCII码的和了
可是在sum+=c后面-48还是得不到正确得结果,程序是输入一串数字求和。
请指教!
都怪我没有掌握好getchar();得用法,刚才自己重新写了个程序,发现getchar()在接受数字得时候就出问题了,比如输入11,程序只会读入两个1。所以个getchar并不适合计算和,更适合统计字符个数等对字符的操作。谢谢大家的指点!