关于c内联函数不能有循环递归

117 篇文章 0 订阅
48 篇文章 0 订阅

内联函数是什么,有什么用,和宏有什么联系区别,自己百度  不好玩的一堆。

/*java课上没有书的还非常前排的人类瑟瑟发抖*/

我只说一点喔

 不是内联函数中不能有循环语句,而是当内联函数中出现了复杂的逻辑控制语句后,编译器会不再认为它是一个内联函数。
也就是说,当内联函数中实现过于复杂时,编译器会将它作为一个普通函数处理。
这是由内联函数的特殊性所决定的,由于内联是调用处展开的方式,所以编译器认为只有足够简单的函数才可以具有该特性,复杂函数编译器会放弃内联特性。载自百度知道https://zhidao.baidu.com/usercenter?uid=a5a44069236f25705e79bc05

钦此!

(希望大家写清楚一点,不然很容易给我们造成误解认为不能在已经声明了的内联函数里写递归for之类 ,久久就写得挺好嘛,编译器也没有报错,)

/*author:九九 */
#include<stdio.h>

inline int sub( int a,int b )
{
    for (;b-->0;--a);
        
    return a;
}

int main( void )
{
    printf("%d\n",sub(8,5));
    
    return 0;
}
溜了溜了,,都是无聊的东西,程序员们真是想尽办法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值