if((i=n/10)!=0) exchange(i)是啥意思??

#include int main(){ void exchange(int n); int n; printf("please enter an integer\n"); scanf("%d",&n); printf("the correct is:\n"); if(n<0){ putchar('-'); n=-n; } exchange(n); printf("\n"); } void exchange(int n){ int i; if((i=n/10)!=0) exchange(i); putchar(n%10+'0');

if((i=n/10)!=0) exchange(i)

意思是小于10的数字不做转换吧。

先计算n/10 赋值给i。

再判断i!=0

等同下面的代码:

i=n/10;

if(i!=0)

    exchange(i);

判断变量n除以10不等于0,然后函数进行一个递归调用(函数自己调用自己一次)。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632