C语言s1E13动动手第2题疑问
#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;
} num = 10 * num + (ch - '0');
将输入的字符1~9,转化成整形 这个是怎样化的,还是没听懂 https://static01.imgkr.com/temp/5c66ba5ba001400eb890cfc62ce37516.png
用对应的ascii码来转换 字符类型 0~9,有有对应的整形,你把它套入公式就好了 那个10*num有什么用 假设你输入的是123
num的变化为
0*10+1
1*10+2
12*10+3
=123
页:
[1]