一个putchar的问题。
为什么直接用 putchar(r);会产生笑脸的图案?而不是数字?加'0'是什么意思?相当于一个char常量+int变量 结果的类型是char?
void to_binary(unsigned long n) //递归函数
{
int r;
r = n%2;
if(n>=2)
to_binary(n/2);
putchar('0'+r);
return;
}
[解决办法]
应该是输出成二进制的代码吧。
试了一下,ASCII码为1的是黑笑脸,ASCII码为2的是白笑脸。^_^