繁体   English   中英

Summa C程序崩溃

[英]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()函数需要以字符串格式"%d"声明的相应变量( n )的地址。 将您的代码更改为:

scanf("%d", &n); 

一切都会好的,你的老师会给你一个很好的记录

scanf()从标准输入流中读入。 要存储已读取的内容,您需要提供正确的地址。 指针持有地址。

&是一元运算符帮助您获取操作数的地址。

&n是一个有效的指针表达式,为您提供n的地址,其中您将要存储n的值

所以,将你的scanf()转到

scanf("%d",&n);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM