对不起,如果这一步已经发表过了,我很少有时间来纠正这段代码,因为我明天需要把它发送给我的编程老师,但我看不出是什么问题。它只是一个带有限制数的summa代码……但它总是错的。我试着在C++中写同样的指令,它也能起作用。为什么??
#include <stdio.h>
int main()
{
int a, n, suma;
suma = 0;
printf("Introduce un numero límite \n");
scanf("%d", n);
for(a=0; a <= n; a++)
{
suma=suma+a;
}
printf("La suma de todos los numeros es: %d", suma);
}
忽略打印…它们只是与用户交互:“我应该在哪里停止添加数字?总数是。一模一样。
如果你能帮助我,我将非常感谢你。我刚上一年级,我是C。。。
哦!所有编译警告:http://puu.sh/54Rnh.png
最佳答案
在scanf中传递n
的地址
scanf("%d", &n);
作为补充说明,您不需要从
0
开始循环来计算总和for(a=1; a <= n; ++a) //start from 1
不需要做太多,但可以节省一次迭代。
另外,如果不打算使用表达式的结果,请使用preincrement,因为它的开销比postcrement稍小。
关于c - Summa C程序崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19713153/