任何人都知道为什么会这样:
int main(void)
{
char action;
int *i;
*i=10;
printf("%d",*i);
action='C';
printf("%c",action);
}
但这不是
int main(void)
{
char action='C';
int *i;
*i=10;
printf("%d",*i);
printf("%c",action);
}
我没有收到任何错误,但它不会运行!不明白为什么这个小小的差异会导致它崩溃
最佳答案
您的代码的行为未定义。它的行为没有逻辑。它本质上是随机的。试图分析为什么一些不相关的“微小差异”会改变您在实验中观察到的行为是浪费时间。
关于c - 初始化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13806728/