Linux 不报警的Hello World

以前都是在VC ++ 6.0下。vc下这样写:

  1. #include  <stdio.h>   
  2. void main()   
  3. {   
  4.    printf("hello,world\n");   
  5. }  

是不会提示警告的。但是放到Gcc环境里面就难说了

测试环境:CentOS 5.5  Final  ,gcc  4.1.2。

vim  test.c后,保存

cc -Wall  test.c  -o  test

./test后,提示

警告:‘main’ 的返回类型不是 ‘int’

既然返回的不是int,那把void去掉好了。

这下子好,一个警告变成两个警告了:(

test.c:3: 警告:返回类型默认为 ‘int’
test.c: In function ‘main’:
test.c:5: 警告:在有返回值的函数中,控制流程到达函数尾
把原来void地方改成  int  ,再执行:cc -Wall  test.c  -o  test 。

现在变成一个警告了,但是还有警告:(。具体提示如下:

test.c: In function ‘main’:
test.c:5: 警告:在有返回值的函数中,控制流程到达函数尾
现在个人对于“控制流程达到函数尾”的理解就是:一辆M1A2撞到了墙上,但是还在继续向向前开的感觉。

相关推荐