return如果有2个怎么办呢

图片说明

为什么a==8了,返回的是3呢

你可以在递归那里设个短点看看嘛。

返回并不是3,传入的参数才是3

因为func(a++/2)传到func里的是a/2,不是a++

是笔误,a是8,返回8.

返回的是a, 而不是 func(a++/2).所以返回的是8。不过按照出题的意思 应该是
printf(“%d\n”,a=func(a++/2));
return a;

返回的是a, 而不是 func(a++/2).所以返回的是8