gpt4 book ai didi

c - C 编程中变量过多导致的错误

转载 作者:行者123 更新时间:2023-11-30 20:58:13 25 4
gpt4 key购买 nike

我想计算正数和负数的算术平均值,用户给出数字。我想再放两个变量来计算正数和负数的总和,然后进行算术平均值。

但是当我将它们放入int x=0, q=0;时,程序将停止工作,编译器不会出现任何错误。为什么?

the error I get

int total, i, numere[total], negativeSum = 0, positiveSum = 0;

printf("The number of digits you want to calculate the arithmetic amount: : ");
scanf("%d",&total);

for(i=0; i<total; i++){
printf("Enter number %d : ",(i+1));
scanf("%d",&numere[i]);
}

for(i=0; i<total ; i++){
if(numere[i] < 0){
negativeSum += numere[i];
}else{
positiveSum += numere[i];
}
}

最佳答案

在你的陈述序列中

int total, i, numere[total], negativeSum = 0, positiveSum = 0;

printf("The number of digits you want to calculate the arithmetic amount: : ");
scanf("%d",&total);

total 仍未初始化,因此 numere[total] 未定义。编译器可能会完全删除它。为了让 total 初始化来定义 numere,您必须在阅读 total 后声明它:

int total, i, negativeSum = 0, positiveSum = 0;

printf("The number of digits you want to calculate the arithmetic amount: : ");
scanf("%d",&total);

int numere[total]; // now it is well-defined.

关于c - C 编程中变量过多导致的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53460544/

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