阎秋落 发表于 2017-1-17 21:24:56

为什么内联函数不能用,不加inline就没问题,加上就不能运行

为什么内联函数不能用,不加inline就没问题,加上就不能运行
#include <stdio.h>

inline int square(int x);

inline int square(int x)
{
        return x * x;       
}

int main (void)
{
        int i = 1;
       
        while(i <= 100)
        {
                printf("%d的平方是%d\n", i - 1, square(i++));
        }
       
        return 0;
}

alltolove 发表于 2017-1-17 22:18:14

内联函数好像就是直接写就行,就不用写声明那句了

阎秋落 发表于 2017-1-17 22:41:34

alltolove 发表于 2017-1-17 22:18
内联函数好像就是直接写就行,就不用写声明那句了

编译器可以自己判定,小的函数自动内联,但是写的时候加上应该也不能算错吧,在视频里加上这句话也编译通过可以运行了

人造人 发表于 2017-1-17 23:24:07

是不是因为没有包含math.h头文件

小甲鱼 发表于 2017-1-18 04:26:29

内联函数是 C99 的内容,请确保编译器支持的标准不是 C90

人造人 发表于 2017-1-18 05:11:00

额,这个和math.h头文件没有关系{:9_240:}

heblhc 发表于 2017-1-18 10:48:02

向小甲鱼学习

阎秋落 发表于 2017-1-18 15:08:49

本帖最后由 阎秋落 于 2017-1-18 15:17 编辑

小甲鱼 发表于 2017-1-18 04:26
内联函数是 C99 的内容,请确保编译器支持的标准不是 C90

是支持c99的,用的dev,编译器选项加入了-std=c99,可以支持c99
页: [1]
查看完整版本: 为什么内联函数不能用,不加inline就没问题,加上就不能运行