[英]Summa C program crashing
对不起,如果之前已经发布了这个版本,我没有时间让这个代码正确,因为我需要明天将它发送给我的编程老师,但我无法看出什么是错的。 它只是一个带限制数的汇总代码......但它确实存在错误。 我试着在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,因为它的开销略小于后增量。
scanf()从标准输入流中读入。 要存储已读取的内容,您需要提供正确的地址。 指针持有地址。
&
是一元运算符帮助您获取操作数的地址。
&n
是一个有效的指针表达式,为您提供n
的地址,其中您将要存储n
的值
所以,将你的scanf()
转到
scanf("%d",&n);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.