【发布时间】:2016-05-27 17:22:09
【问题描述】:
我已经复习了我的 C 编码并复习了几年前我做过的一些旧练习。我遇到了一种情况,我几乎 100% 确定它应该给出分段错误,但程序运行平稳并正确终止。为什么会这样?
#include <stdio.h>
int main(void){
int vals[6] = {0,0,0,0,0,0};
vals[8]++; //This should not be ok!!?
printf("Done");
return 0;
}
【问题讨论】:
-
没有应该发生分段错误的地方。
-
如何访问一个不存在的数组位置不是分段错误?
-
这是未定义的行为,是否是分段错误取决于其他事情。哦,你的代码中没有vector,你可能在想c++?
-
@iharob 该死的面向对象的语言把我的 C 搞乱了:p
-
@iharob:旧 K&R 使用术语“向量”来表示数组。
标签: c arrays segmentation-fault