【发布时间】:2020-05-23 14:05:16
【问题描述】:
char letM[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int nr;
printf("enter a number between 7 and 15\n");
scanf("%d", &nr);
for (int j = 0; j<=nr-5; j++){
char letter[j] = letM[rand()%26+1];
printf("%c", letter);
}
这段代码应该是 nr-5 字母,但是当我运行它时,输出说错误:可变大小的对象可能没有被初始化
【问题讨论】:
-
从
char letter[j]中删除[j],你希望你的变量只是一个char -
@EricPostpischil 我的错。那么,Jack_01,你知道数组索引在 C 中从 0 开始吗?
letM[rand()%26+1]中有一个 array 溢出。