gpt4 book ai didi

c - 读取输入并不能完全填充 double 组

转载 作者:行者123 更新时间:2023-11-30 14:53:12 26 4
gpt4 key购买 nike

我正在尝试编写一个程序,读取存储在 2 个不同数组中的 double ,将它们相加并打印出相加的 2 个数组。我正在尝试测试我的代码,但当我填充数组时,打印显示它在传递第一个索引后没有填充数组。

#include <stdio.h>

int main() {
double arrayA[5];
double arrayB[5];
double arrayC[5];

printf("Enter 5 doubles for array A\n");
for (int i = 0; i < 5; i ++) {
scanf("%lf", arrayA);
printf("%lf\n", arrayA[i]);
}
printf("Enter 5 doubles for array B\n");
for (int i = 0; i < 5; i ++) {
scanf("%lf", arrayB);
printf("%lf\n", arrayB[i]);
}

printf("Here are the two arrays added together\n");
for (int i = 0; i < 5; i ++) {
arrayC[i] = arrayA[i] + arrayB[i];
}

for (int i = 0; i < 5; i ++) {
//printf("%lf\n", arrayA[i]);
//printf("%lf\n", arrayB[i]);
printf("%lf\n", arrayC[i]);
}


}

这是我在控制台中获得的第一个数组的输出

Enter 5 doubles for array A
1
1
1.000000
2
2
0.000000
3
3
0.000000
4
4
0.000000
5
5
0.000000

最佳答案

scanf("%lf", arrayA) 始终读入 arrayA 的第一个元素,而printf("%lf\n", arrayA[i]) 打印第 i 个元素。因此,您正在访问数组的未初始化部分,这会产生未定义的行为。使用 scanf("%lf", &arrayA[i]) (以及 arrayB 的等效项)。

关于c - 读取输入并不能完全填充 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47339701/

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