首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

puchar(‘0’+r)为何要这样写啊 多谢

2013-04-20 
puchar(‘0’+r)为何要这样写啊 谢谢将一个整数转换成二进制形式。void to_binary(unsigned long n)/* recurs

puchar(‘0’+r)为何要这样写啊 谢谢

将一个整数转换成二进制形式。
void to_binary(unsigned long n)   /* recursive function */
{
    int r;

    r = n % 2;
    if (n >= 2)
       to_binary(n / 2);
    putchar('0' + r); //这里用了putchar(),为何?直接用printf()不就完了吗?还有用putchar()也让人搞错。

    return ;
}

[解决办法]
可以用printf。。在这里
putchar('0' + r);
printf("%d", r);
的输出效果是一样的。。
另外putchar('0' + r);中'0'+r代表了数字r的ASCII码编号。
[解决办法]
1. putchar输出字符时比printf方便
2.‘0’+ r 即求整型r的ASCII值
比如
整型  0, ASCII 48
整型  1, ASCII 49
'0'即字符0,也就是ASCII 48
[解决办法]
單個字符用putchar比較方便

热点排行