【发布时间】:2021-10-21 03:22:31
【问题描述】:
名为“stop”的变量在显示时不会累加。它应该显示“输入数组 1 然后 2...5 的数字”。
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#define MAX_SIZE 1000
void main(){
int num[MAX_SIZE];
printf("Input number of integers in the array: ");
scanf("%d", &num[MAX_SIZE]);
for(size_t stop=0; stop<num[MAX_SIZE]; stop++){
printf("\nInput numbers for array %d: ", num[stop]);
scanf("%d", &num[stop]);
}
}
【问题讨论】:
-
scanf("%d", &num[MAX_SIZE]);您正试图在数组边界之外写入。总的来说,我不清楚你想在这里实现什么。在循环内部,为什么要在为元素赋值之前打印元素? -
您似乎正在尝试在整个运行时设置数组的大小,在这种情况下您应该使用动态内存分配与
calloc或malloc并删除预处理器指令。 -
数组不是这样工作的。