- C语言中,每条完整的语句后面都必须以分号结尾
int main(){
printf("hello world\n") // 如果没有分号编译时会报错
return 0;
}
int main(){
// 如果没有分号,多条语句合并到一行时, 系统不知道从什么地方到什么地方是一条完整语句
printf("hello world\n") return 0;
}
- C语言中除了注释和双引号引起来的地方以外都不能出现中文
int main(){
printf("hello world\n"); // 这里的分号如果是中文的分号就会报错
return 0;
}
- 一个C语言程序只能有一个main函数
int main(){
return 0;
}
int main(){ // 编译时会报错, 重复定义
return 0;
}
- 一个C语言程序不能没有main函数
int call(){ // 编译时报错, 因为只有call函数, 没有main函数
return 0;
}
int mian(){ // 编译时报错, 因为main函数的名称写错了,还是相当于没有main函数
return 0;
}
- main函数前面的int可以不写或者换成void
#include <stdio.h>
main(){ // 不会报错
printf("hello world\n");
return 0;
}
#include <stdio.h>
void main(){ // 不会报错
printf("hello world\n");
return 0;
}
- main函数中的return 0可以不写
int main(){ // 不会报错
printf("hello world\n");
}
- 多种写法不报错的原因
- C语言最早的时候只是一种规范和标准(例如C89, C11等)
- 标准的推行需要各大厂商的支持和实施
- 而在支持的实施的时候由于各大厂商利益、理解等问题,导致了实施的标准不同,发生了变化
- Turbo C
- Visual C(VC)
- GNU C(GCC)
- 所以大家才会看到不同的书上书写的格式有所不同, 有的返回int,有的返回void,有的甚至没有返回值
- 所以大家只需要记住最标准的写法即可, no zuo no die
#include <stdio.h>
int main(){
printf("hello world\n");
return 0;
}
Tips: 语法错误:编译器会直接报错 逻辑错误:没有语法错误,只不过运行结果不正确
最后,如果你有任何问题,欢迎加我微信 leader_fengy 拉你进学习交流群。