【发布时间】:2015-07-12 02:10:04
【问题描述】:
这是一个简单的程序,用于保存和显示数组中的所有 ASCII 字母:
#include <stdio.h>
int main(void) {
int j = 0;
char alpha[52];
for (i=65;i<=122;i++) {
if (i<=90 || i>=97) {
alpha[j] = i;
}
j++;
}
printf("\n");
return 0;
}
得到以下错误:
*** stack smashing detected ***: ./program.c terminated
Canceled (Created core dump)
那段代码有什么问题?
【问题讨论】:
-
好吧,当它只包含 52 个元素时,您正在设置 alpha[57]...