void convert(int n){int i; if ((i=n/10)!=0) convert(i); putchar(n%10+'0');}如果 n=456 会输出什么结果呢?我一直觉得putchar是只会输出4而已
当然会输出456了,这里每调用一次函数就会执行一次输出
5和6也会输出 因为你的putchar()并没有因为if 而跳过 是必然要执行的一个语句
递归:
{语句1;
调用函数------->{ 语句1; 调用函数------->{ 语句1; 递归终止;// 语句2;//返回函数调用处 } 语句2;//返回函数调用处; }语句2;}
大悟,谢谢大家,嘿嘿