丸子酱ovo 发表于 2021-1-30 03:07:08

while循环

功能:找出字符串中的数字并输出


#include<stdio.h>
#include <string.h>

      char str;
      int i,count, a;
      int p,q,r;

int main(void)
{


      gets(str);
      r=0;
      count=0;
      while(1)       //表示条件永远为真,一直执行循环体内语句。
                     //为了结束循环,可以在循环体内满足某些特定条件使用break跳出循环。
      {
            while(str&&(str<'0'||str>'9'))       //括号里的str有什么作用??为什么不能删去??
                r++;            //跳过非数字


            if(str)
            {
                p=r;            //p指向数字串的开头
                q=r+1;         //q寻找数字串的结尾
                a=str-'0';

                while(str>='0'&&str<='9')

                {
                  a=10*a+(str-'0');   //把数字单独存入一个数组
                  q++;
                }

                r=q;    //新的一轮
                count++;
            }
            else
                break;
      }

      for(i=0;i<count;i++)
            printf("%d",a);

      return 0;
}

wp231957 发表于 2021-1-30 07:09:48

取字符串中的每一个子串

丸子酱ovo 发表于 2021-1-30 07:50:28

wp231957 发表于 2021-1-30 07:09
取字符串中的每一个子串

对对对但是我不是很明白 括号里第一个str 是起什么作用的后面的两个是为了筛选第一个呢
str&&(str<'0'||str>'9'

wp231957 发表于 2021-1-30 08:13:46

丸子酱ovo 发表于 2021-1-30 07:50
对对对但是我不是很明白 括号里第一个str 是起什么作用的后面的两个是为了筛选第一个呢
str[ ...

str 相当于str不等于空
页: [1]
查看完整版本: while循环