猿问

求解答为什么不是12

#include <stdio.h> 

int old(int n)

{

int a;

if (n = 1)


a=10;


else


a=old(n - 1) + 2;

return a;

}


int main()

{

printf("第2个人的年龄是%d岁", old(2));

return 0;

}

求解答为什么不是12


Single丶love
浏览 1346回答 2
2回答

小慕_7913

我觉得应该是: if(n=1)中,给n赋值1,因为不是0,if中认为是true,执行if的语句块,而不执行else (注意不是n==1),你可能是没注意到这个

望远

#include <stdio.h> int old(int n){int a;if (n == 1)//这里应该是关系判断,而不是赋值,赋值为1就是true了a=10;elsea=old(n - 1) + 2;return a;}int main(){printf("第2个人的年龄是%d岁", old(2));return 0;}
随时随地看视频慕课网APP
我要回答