书中的例题:在 for 循环中使用 scanf()对数列进行求和,为什么运行出错?
谢谢各位高手回帖指明原因!下面的这个小程序是《C程序设计_现代方法》第二版第六章的一个对数列进行求和的例题。
我把这个程序输入code:blocks后编译后再运行却出错,表现为输入2 3回车后没反应,再回车多少次都没反应。单步调试时表现为n一直取2不变,然后sum从2到4到6一直递增。
我google了一下scanf函数陷阱、for循环中的scanf使用,没发现有用的答案。
下面是程序*****************************************************************************************************************************************
//用户输入整数,中间以空格分割,以回车结束。程序计算出所有这些整数的和。
#include <stdio.h>
int main()
{
int n, sum = 0;
printf("This program sums a series of numbers.\n");
printf("Enter numbers (0 to terminate): ");
scanf("%d", &n);
while(n != 0.0){
sum += n;
scanf("d", &n);
}
printf("The sum is: %d.\n", sum);
return 0;
}