这个结果怎么出来的?
代码如下:#include<stdio.h>
int main(void)
{
void t(unsigned int a);
unsigned int a;
scanf("%d",&a);
t(a);
getch();
return 0;
}
void t(unsigned int a)
{
unsigned int b;
b=a/10;
if(b!=0)
{
t(b);
}
putchar(a%10+'0');
}
在假设输入82的情况下,按我的逻辑 输入82整数,调用函数t,此时函数t的变量a等于82。定义一个变量b后赋值a除以10,b的结果为是8,判断条件成立。然后调用函数t参数为b(也就是8)进入函数,此时a的值为8 在定义一个b赋值a除以10结果为0,判读不成立 执行putchar函数输出(a%10+'0')结果为8 函数结束~~怎么会多出来个2








知道了..原来第一次调用函数中反复调用的时候后面的putchar还未执行,等第二次函数调用完了以后在回来调用putchar

多了一个getch(),我的没法运行。还有 putchar(a%10+'0'),加一个‘0’什么意思?
不过在我看来是白写的 书上这样写我就这样写了...不写结果也是一样的啦