首页 > 解决方案 > 用数组编写程序以在 c 中求和

问题描述

我在想一个code找到数字的总和。

所以我写道code

#include <stdio.h>
#include <math.h>
int main()
{
    int n,i,s=0,a[100];
    printf("enter number of numbers");
    scanf("%d",n);
    for(i=1;i<=n;i++)
    scanf("%d",&a[i]);
    s=0;
    for (i=1;i<=n;i++)
     {s=s+a[i];}
    printf("sum is%d\n",s);
}

但是在输出中它显示了 segmentation error。IE在此处输入图像描述

那么错误是什么?

标签: carrays

解决方案


所以这一行:

scanf("%d",n);

应该替换为

scanf("%d",&n);

解释:

scanf()根据格式读取数据stdin并将数据存储在下一个附加参数指向的位置。在这种情况下,格式是%d意味着我们要读取一个整数,这个整数将存储在n. &运算符用于获取 C 中变量的位置。


推荐阅读