我是个汉子 发表于 2018-9-25 20:44:54

莱鸟问题,求解决!!

               加粗的部分有些看不懂,求大神解释一下!!
#include <stdio.h>
    #include <stdlib.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;
    }

Dine 发表于 2018-9-25 22:46:06

将字符(ASCII值范围 )转化为十进制数字输出

moc 发表于 2018-9-25 23:06:57

每次将上次的数乘以10再加上这次的数,很明显这个是循环输入多位数嘛,
还有char类型会隐式转换为int的。
页: [1]
查看完整版本: 莱鸟问题,求解决!!