c语言输入一个字符串内有数字和非数字字符 输出数字组成数组

#include<stdio.h>
#include<string.h>
int main()
{ char str[100],a[10][10];
char *p,*q[10];
int k=0,i,j,t=0;
gets(str);
p=str;
for(i=0;i<10;i++)
q[i]=a[i];
for(i=0;*p!='\0';i++)
{
if(*(p+i)>='0'&&*(p+i)<='9')k++;
else
{ if(k>=2)
for(j=0;j<k;j++)
*(*(q+t)+j)=*(p+i-k);
t++;
k=0;
}
printf("%s\n",*q[t]);
}
return 0;
}
问题是输入一个字符串内有数字和非数字字符 比如hsdas123fdfd3fwef66要求将连续数字存到单独数组内输出 这里要输出123和66 两个数组 输入字符串运行后提示出现一个问题导致程序停止正常工作

算法有问题,不可能实现你所提出的问题;for(i=0;*p!='\0';i++)
{
if(*(p+i)>='0'&&*(p+i)<='9')k++;
....
}
这是个死循环,因为p没有变化,始终指向串首;循环中间也有很多问题
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网