#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没有变化,始终指向串首;循环中间也有很多问题
{
if(*(p+i)>='0'&&*(p+i)<='9')k++;
....
}
这是个死循环,因为p没有变化,始终指向串首;循环中间也有很多问题
温馨提示:答案为网友推荐,仅供参考