2008下半年软考指定用书鸟哥的LINUX私房菜Linux命令、编辑器与Shell编程新蛋中国购物
发新话题
打印

return 的具体作用

return 的具体作用

各位前辈,我想问问下面这个程序中,为什么没有返回值不会报错,输出值为1?
`     1 #include<unistd.h>
      2 int main()
      3 {
      4      int fd;
      5      int x;
      6
      7      if((fd=fopen("a", "w+")) == 0)
      8        {
      9          printf("Create file fail!");
     10
     11          return ;
     12        }
     13     // return fclose(fd);
     14      printf("x=%d",fclose(fd));
     15 }
~
~
这个程序诸多问题啊,比如既然你知道main函数是要返回int类型的,那么11行的return 是要返回个值的. 你编译的时候加-Wall参数会给你警告的.
在C语言中,return 的作用是从被调用的函数返回到调用函数里,继续执行程序,并且,如果需要的话,它可以带回一个值,这个值就是被调用函数的操作结果。至你说那个问题,那只是编译器的一个处理情况,这一点不同的编译器的处理的确是不同的,比方说,如果你在WINDOWS Visual Stdio下编译,这个代码肯定通不过。

谢谢指点

谢谢指点
发新话题