我最近不得不输入一个小的C测试程序,在这个过程中,我不小心使用了vooid
而不是void
,从而在主函数中犯了一个拼写错误。
然而,它仍然有效。
将它缩减到最小的完整版本,我最终得到了:
int main (vooid) {
return 42;
}
这确实是编译(gcc -Wall -o myprog myprog.c
),并且在运行时,它返回42。
这到底是怎样的有效代码?
这是从我的bash
shell中剪切并粘贴的文字记录,以显示我正在做的事情:
pax$ cat qq.c
int main (vooid) {
return 42;
}
pax$ rm qq ; gcc -Wall -o qq qq.c ; ./qq
pax$ echo $?
42
https://stackoverflow.com/questions/4987415
复制相似问题