各位帮忙分析一下哪里出了问题,关于一个字符串中输出整数的问题
#include<stdio.h>#include<string.h>
int main()
{
char a[100];
int b[100]={0},i,*x=b,n=0;
char *p=a;
gets(a);
for(i=0;*(p+i)!='\0';i++)
if(*(p+i)>=48&&*(p+i)<=57)
{
*x=*(p+i)-'0';
i++;
while(*(p+i)>=48&&*(p+i)<=57)
{
*x=*x*10+(*(p+i)-'0');
i++;
}
n++;
x++;
}
printf("共有%d个整数。\n",n);
for(i=0;i<n;i++)
printf("%d\t",*(x+i));
printf("\n");
return 0;
}