gpt4 book ai didi

c - 在 C 中使用数组进行扫描和求和

转载 作者:太空宇宙 更新时间:2023-11-04 05:59:36 26 4
gpt4 key购买 nike

我正在尝试编写一个简单的程序,提示用户输入 N 个数字,将它们存储在一个数组中,然后将它们全部加起来

我知道我可以通过递归来做到这一点,但我正在尝试学习数组的工作原理

例子:

1(回车)2(按回车键)...10(回车)

预期输出:55

#include <stdio.h>

int main (void){
int n;
int a[n];
int counter;

printf("How many numbers do you want to enter? \n");
scanf("%d", &n);

printf("OK! now enter your number: \n");
for (int i = 0; i <= n; i++){
scanf("%d", &a[i]);
counter =+ a[i];
}

printf("The answer is: %d\n", counter);
return 0;
}

现在没有错误消息,没有输出,只有标准的 Windows 错误消息“scanner.exe 已停止工作...”

我正在使用 Win8 和 GCC 编译器

最佳答案

首先,您不能在不知道其大小的情况下创建静态数组。您首先需要向用户询问“n”变量,然后声明您的数组。

在开始计数之前,您还需要将计数器变量显式初始化为零。在 C 语言中,变量在声明时不会默认为 0。

运算符“=+”不存在AKAIK,将其更改为“+=”。

最后但同样重要的是,你的循环限制有点偏离,你要求 11 个值 ;)(我编辑了这篇文章,我只要求 9 个值是错误的。我倾向于混淆这类东西)

#include <stdio.h>

int main (void){
int n;
int counter = 0;

printf("How many numbers do you want to enter? \n");
scanf("%d", &n);

int a[n];

printf("OK! now enter your number: \n");
for (int i = 0; i < n; i++){
scanf("%d", &a[i]);
counter += a[i];
}

printf("The answer is: %d\n", counter);
return 0;
}

关于c - 在 C 中使用数组进行扫描和求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com