#include<stdio.h>
void main()
{
int i = -1, j = 1,k,l;
k=!i&&j;
l= !i||j;
printf("\n%d\n%d",i,j);
}
在输出中显示:Runtime error time: 0 memory: 10304 signal:-1
但是,如果我用int替换void,并在程序中添加return 0,它工作得很好,没有任何错误,为什么?
发布于 2017-07-02 07:39:15
C11标准中没有对void main()
进行描述。一些实现可以自由地将其“合法化”。显然,您正在使用的实现在这方面遵守了标准。
尝试使用mandated by the Standard to be correct (C11, 5.1.2.2.1)的int main(void)
。
https://stackoverflow.com/questions/44868457
复制相似问题