雨如洁 发表于 2020-3-1 16:40:52

‘ ’ 这个数字上的疑惑

#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;
}
为什么 将 所有 数字上面的’‘ 去掉以后输入3.2 得到结果为0   不去掉的话输入3.2得3




qiuyouzhi 发表于 2020-3-1 16:40:53

因为‘0’是字符,它本来就是以字符的形式操作的,而你
将它改成了数字,肯定是没有值的啦
页: [1]
查看完整版本: ‘ ’ 这个数字上的疑惑