SilverAz 发表于 2022-9-4 19:02:37

打印字符串中第一组数字,新手哪里写错了啊

#include<stdio.h>

int main()
{


       
        printf("输入一句话:");
        int ch=getchar();
        int i=0;       
        while(ch!='\n')
        {
                if('0'<=ch&&ch<'9')
                {
                        putchar(ch);//打印所有数字                        
                        i++;
                }
                else
                {
                        if(i)
                        {
                                break;
                        }       
                }
        }

       
        return 0;
       
}

wp231957 发表于 2022-9-4 19:15:57

你也没说需求,不知道咋弄,代码肯定是没法看

SilverAz 发表于 2022-9-4 19:18:19

wp231957 发表于 2022-9-4 19:15
你也没说需求,不知道咋弄,代码肯定是没法看

https://fishc.com.cn/forum.php?mod=viewthread&tid=68699&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570
动动手 第二题 没扩展的部分

jackz007 发表于 2022-9-4 19:20:39

本帖最后由 jackz007 于 2022-9-4 19:22 编辑

#include <stdio.h>

int main(void)
{
      char ch                ;      // 这里改了
      int i=0                ;      

      printf("输入一句话:") ;
      while((ch = getchar()) !='\n')// 这里改了
      {
                if('0'<= ch && ch <= '9')
                {
                        putchar(ch) ;//打印所有数字                        
                        i ++      ;
                }
                else
                {
                        if(i)
                        {
                              break;
                        }      
                }
      }

      
      return 0;
      
}

SilverAz 发表于 2022-9-4 19:29:24

jackz007 发表于 2022-9-4 19:20


大佬我的逻辑问题在哪{:5_107:}

jackz007 发表于 2022-9-4 19:38:55

SilverAz 发表于 2022-9-4 19:29
大佬我的逻辑问题在哪

      while 循环里面没有 ch = getchar(),致使 ch 的内容无法更新,从而陷入死循环。
页: [1]
查看完整版本: 打印字符串中第一组数字,新手哪里写错了啊