Chinaunix

标题: 内联函数疑问,求高手指教 [打印本页]

作者: snowboy9859    时间: 2011-09-07 14:57
标题: 内联函数疑问,求高手指教
代码如下:
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. __inline fac(int i) {return i*i;}

  4. int main(void)
  5. {
  6.         printf("%d\n", fac(8));

  7.         return 0;
  8. }
复制代码
代码中,内联函数定义为无返回值类型的,函数体内部用return返回了结果,为什么这个函数能够编译通过且正常运行?求指教,多谢!
作者: MMMIX    时间: 2011-09-07 16:41
代码中,内联函数定义为无返回值类型的,函数体内部用return返回了结果,为什么这个函数能够编译通过且正常运行?
snowboy9859 发表于 2011-09-07 14:57



    我觉得你应该把 gcc 的警告打开(如果你用 gcc 的话)。C 中函数的默认返回值类型是 int。
作者: snowboy9859    时间: 2011-09-07 17:00
回复 2# MMMIX


    一语中地,多谢指教
作者: kycgjy    时间: 2011-09-07 17:20
学习了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2