编程题
while(ch != '#')/* */
{
if(ch >= '0' && ch <= '9')
{
/* */
count = ch-'0'+1;/* */
scanf("%c",&nch);/* */
for(k=0;k<count;k++)/* */
printf("%c",nch);
}
else
printf("%c",ch);/* */
printf(" ");/* */
scanf("%c",&ch);/* */
}
printf("#\n");
这里面的count = ch-'0'+1;是什么意思 啊?最好全局都解释一下 啊
[解决办法]
去查查ascii码表
'0'==0x30
'1'==0x31
'2'==0x32
'3'==0x33
'4'==0x34
'5'==0x35
'6'==0x36
'7'==0x37
'8'==0x38
'9'==0x39
假设输入的是'4'
那么count=0x34-0x30+1=5
后面那个循环就循环5次。
[解决办法]
把char型转变为数值后+1.
‘0’-‘0’+1 = 1;
……
[解决办法]
count = ch - '0' + 1;的意思是将字符'0'-'9'转化为数字9,即数值是0~9.