为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这样还是会输出主函数的printf语句

#include <stdio.h> 

int aabb(int n)

{

    int year;

    if(n == 1)

    {

        year = 10;

    }

    else if(n == 2)

    {

        year = aabb(n-1)+2;  //第二人比第一人大两岁

    }

    else if(n == 3)

    {

        year = aabb(n-1)+3;  //第三人比第二人大三岁

    }

    else if(n == 4)

    {

        year = aabb(n-1)+4;  //第四人比第三人大四岁

    }

    else if(n == 5)

    {

        year = aabb(n-1)+5;  //第五人比第四人大五岁

    }

    else

    {

        printf("输入错误,请检查后再输入!");

    }

    return year;

}

int main() 

{

    int n = 10;

printf("第%d个人的年龄是%d岁",n,aabb(10));

return 0;

}


正在回答

1 回答

n>5时aabb输出未赋值的year,即使未赋值,也分配了地址,其对应的数值可能就是取决于编译时该内存地址中恰巧存在的数值,因此是随机的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么这样还是会输出主函数的printf语句

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信