???
程序其中的(num = 10 * num + (ch - '0');)这一点不理解,谁能解释一下???#include <stdio.h>
int main()
{
int ch;
int num = 0;
printf("请输入待转换的字符串:");
do
{
ch = getchar();
if (ch >= '0' && ch <= '9')
{
num = 10 * num + (ch - '0');
}
else
{
if (num)
{
break; // 如果已有数字,则退出循环
}
}
}
while (ch != '\n');
printf("结果是:%d\n", num);
return 0;
} 解答: ch是字符'1'-'9',减去'0'可以得到实际的数字1-9
前面的乘10是将上一次的数左移一位 qq1242009750 发表于 2017-12-23 15:33
解答:
好详细啊,谢谢了
BngThea 发表于 2017-12-23 15:34
ch是字符'1'-'9',减去'0'可以得到实际的数字1-9
前面的乘10是将上一次的数左移一位
嗯
页:
[1]