在ACM ICPC墨西哥比赛的最后一周,我错过了C++项目的"返回0".出于这个原因,我们受到了20分钟的惩罚.
我曾经读到标准并没有强迫我们在主函数的末尾写它.这是隐含的,不是吗?我怎样才能证明这一点?
我们使用的是带有G ++编译器的Fedora系统.
为什么,如果我写
int main()
{
//...
}
Run Code Online (Sandbox Code Playgroud)
return 0;在main功能结束时我不需要写吗?编译器是否为我做了?
我用的是GCC/C99.
此 C 代码给出输出“False”并且else块正在执行。
的值为sizeof(int)4,但 的值为sizeof(int) > -10。
我不明白发生了什么。
#include <stdio.h>
void main()
{
if (sizeof(int) > -1 )
{
printf("True");
}
else
{
printf("False");
}
printf("\n%d", (sizeof(int)) ); //output: 4
printf("\n%d", (sizeof(int) > -1) ); //output: 0
}
Run Code Online (Sandbox Code Playgroud)