gpt4 book ai didi

c - 数组的输入未扫描/丢失

转载 作者:行者123 更新时间:2023-11-30 14:44:02 27 4
gpt4 key购买 nike

输入:8(2 5 6 9 10 2 7 4)预期输出:(2 7 9 9 12 5 7 6)实际输出:(2 7 9 9)

这是我的大学作业,也是我第一次在这里提问。我不知道为什么,但 10 没有扫描,有什么帮助吗?

#include <stdio.h>
int main ()
{
int a = 0, b = 0, c = 0, a_u[a], a_s[a];
printf("jumlah inputan : ");
scanf("%d", &a);

printf("\nmasukkan bilangan : ");

for(b = 0; b < a; b++) {
scanf("%d", &a_u[b]);
}

printf ("\n");
for(b = 0; b < a; b++) {
if (b % 3 == 0){
a_s[b] = a_u[b];
}
else if (b % 3 == 1){
a_s[b] = a_u[b] + 2;
}
else if (b % 3 == 2) {
a_s[b] = a_u[b] + 3;
}
}

for(b = 0; b < a; b++) {
printf("%d ", a_s[b]);
}
}

最佳答案

这里有一个问题:

int a = 0, b = 0, c = 0, a_u[a], a_s[a];

您的数组a_ua_s是可变长度的。可变长度数组不一定是标准 C(您可能至少需要一个 C99 编译器才能利用该功能)。但现在我们假设您的编译器确实支持它。

更重要的是,您使用了 a 的值(0)作为这些数组的大小。

这意味着任何访问a_ua_s的代码都会表现出未定义的行为

关于c - 数组的输入未扫描/丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53636785/

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