关于分号的部分只是一点“我比你聪明”的误导。
然而,当你明白这一点时,你就会对 c; 有所了解。
以下是一系列可能有帮助的程序。编译并运行每一个,然后思考它们的作用以及它们与之前的有何不同:
#include <stdio.h>
int main(void) {
int i = printf("Hello, world!\n");
printf("%d\n",i);
return 0;
}
#include <stdio.h>
int main(void) {
if ( 1 ) {
printf("condition evaluated as true\n");
} else {
printf("condition evaluated as false\n");
}
return 0;
}
#include <stdio.h>
int main(void) {
if ( printf("Hello, world!\n") ) {
printf("condition evaluated as true\n");
} else {
printf("condition evaluated as false\n");
}
return 0;
}
#include <stdio.h>
int main(void) {
if ( printf("Hello, world!\n") ) {
}
return 0;
}
最后,您可以省略 main 的返回(在这种情况下隐式返回 0)。所以你得到:
#include <stdio.h>
int main(void) {
if ( printf("Hello, world!\n") ) {
}
}
这是 Hello, world! 的完整且符合标准的版本!没有任何分号。