严凯 发表于 2020-11-17 15:01:32

超简单问题求助

#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=getchar();是吧我输入的字符一个一个输入,还是直接一下输入,比如我输入abcd,是先ch=a,然后循环一次,在ch=b循环..........,还是一下ch=abcd?我盲猜是第一种情况!

严凯 发表于 2020-11-17 15:33:50

怎么没有人啊

风过无痕丶 发表于 2020-11-17 15:46:11

你猜的不错!

点我跳转->getchar


如果是第二种 就没有do...while循环的必要了。

严凯 发表于 2020-11-17 15:52:10

风过无痕丶 发表于 2020-11-17 15:46
你猜的不错!

点我跳转->getchar


虽然,我在你没来之前已经想通了,但是遇见就是缘分,给你个最佳答案{:10_333:}
页: [1]
查看完整版本: 超简单问题求助