当前位置: 代码迷 >> C语言 >> [求助]一个字符的问题
  详细解决方案

[求助]一个字符的问题

热度:18   发布时间:2006-11-28 15:48:50.0
[求助]一个字符的问题
a[i++]=num%2+'0';
请问一下,上面的'0'是什么意思啊?这个语句又执行什么作用呢?
谢谢!~~
搜索更多相关的解决方案: 字符  num  语句  

----------------解决方案--------------------------------------------------------
以下是引用yjbqq在2006-11-28 15:48:50的发言:
a[i++]=num%2+'0';
请问一下,上面的'0'是什么意思啊?这个语句又执行什么作用呢?
谢谢!~~

这个程序不完全,只有这样说,‘0’表示字符在ascii为48,这个语句执行整形转化字符。
----------------解决方案--------------------------------------------------------

#include<stdio.h>

int main()
{
int num,i;

char a[20];
i=0;
scanf("%d",&num);
while(num)
{
a[i++]=num%2+'0'; 这里不明白,可以解释一下吗?
num/=2;
}
while(--i>=0)
{
printf("%c",a[i]);
}

return 0;

}
这是程序的全部


----------------解决方案--------------------------------------------------------

我个人认为:这段语句的作用是,将num转换成字符'0'和'1'并存入数组,没有看见更多的程序,所以,可能理解的不正确!


----------------解决方案--------------------------------------------------------
这段程序的功能好像是从键盘输入一个整数,输出他的二进制的值,其实,就是,将一个数的十进制转换成二进制,
a[i++]=num%2+'0';的作用就是,见整型的0和1转换成字符'0'和'1'并存入数组.
----------------解决方案--------------------------------------------------------

哦,谢谢啊!!~~明白了

[此贴子已经被作者于2006-11-28 16:13:29编辑过]


----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------

哦,我明白了!长见识啊!

[此贴子已经被作者于2006-11-29 18:04:48编辑过]


----------------解决方案--------------------------------------------------------
就是把存进数组的值以字符型输出么
----------------解决方案--------------------------------------------------------
  相关解决方案