我使用了下面的方法来实现我的目标,但是没有用。
•我希望用户指定等级的数量。
#include <stdio.h>
int main(void)
{
int user;
int grades[user], i;
for(i=0; i<grades[user]; i++) {
printf("Please enter a value: ");
scanf("%d", &grades[i]);
}
//Printing out the array
for(i=0; i<grades[user]; i++) {
printf("nIndex Number: %d Value: %dn", i, grades[i]);
}
return 0;
}
int main(void) { int user; int grades[user], i;
此时user
的值尚未初始化,因此使用它作为变长数组的大小是未定义的行为。
相反,在使用user
之前,使用scanf
读取user
的值。
scanf("%d", &user);
请记住检查scanf
的返回值,以确保您实际读取的是一个整数。