我正在尝试理解
我谷歌了putchar的定义,但没有找到。为了测试它,我添加了一个printf来查看r的值:
我运行了它(输入5),并得到了以下输出:
r = 1 并且 putchar 打印了 1
r = 0 并且 putchar 打印了 0
r = 1 并且 putchar 打印了 1
所以我猜想,如果 r=0,则
putchar('0' + r);
的工作原理。下面的函数将整数转换为二进制。void to_binary(unsigned long n)
{
int r;
r = n % 2;
if (n >= 2)
to_binary(n / 2);
putchar('0' + r);
}
我谷歌了putchar的定义,但没有找到。为了测试它,我添加了一个printf来查看r的值:
void to_binary(unsigned long n)
{
int r;
r = n % 2;
if (n >= 2)
to_binary(n / 2);
printf("r = %d and putchar printed ", r);
putchar('0' + r);
printf("\n");
}
我运行了它(输入5),并得到了以下输出:
r = 1 并且 putchar 打印了 1
r = 0 并且 putchar 打印了 0
r = 1 并且 putchar 打印了 1
所以我猜想,如果 r=0,则
putchar('0' + r);
打印0,如果 r=1,则打印1,或者其他情况发生了?