c语言入门函数调用问题,为什么没有return a;第一回返回7,第二回返回4?这个4是怎么算的?
必采纳!intss(inta);intss(inta){a=a+2;printf("%d\n",a);//returna;//如果没这returna;句返回第一个正确,第...
必采纳!int ss(int a);int ss(int a){ a=a+2; printf("%d\n",a); //return a; //如果没这return a;句返回第一个正确,第二个就错误}int main(){ int a=5; ss(ss(a)); return 0;}
展开
2个回答
2021-04-07
展开全部
行为未定义,返回值4是一个未知数,即然写明了返回类型,就别钻牛角了
打个比方,汇编中用寄存器eax保存返回值,如果ss函数没指明返回值(即没更改eax的值),所以返回的eax的当前值是未知的
打个比方,汇编中用寄存器eax保存返回值,如果ss函数没指明返回值(即没更改eax的值),所以返回的eax的当前值是未知的
追问
谢谢您
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询