新手求助
											题目:输入一个字符串,内有数字和非数字字符,例如:12sf s3df4s6@#$dsadd41dfsdf
将其中连续的数字作为一个整数,依次存放到一数组a中。例如,12放在a[0],3放在a[1]......统计共有多少个整数,并输出这些数。
代码如下:
程序代码:#include<stdio.h>
int tongji(char *,int *);
int main(void)
{
    char str[50]="\0";
    int a[50];
    int i,n;
    printf("输入一个字符串:");
    gets(str);
    n=tongji(str,a);
    printf("共计%d个数\n",n);
    for(i=0;i<n;i++)
        printf("%c%5d",i%5?'\0':'\n',a[i]);
    printf("\n");
    return 0;
}
int tongji(char *p,int *a)
{
    int i=0,j=0,t;
    while( *(p+i)!='\0' )
    {
        for( ; *(p+i)<'0' || *(p+i)>'9' ; i++ );
        if( *(p+i)=='\0' )
            break;
        for( t=0 ; *(p+i)>='0' && *(p+i)<='9' ; i++)
            t=t*10+*(p+i)-'0';
        *(a+j++)=t;
    }
    return j;
}无错误提示。
运行结果如下:
搞不明白为什么会多出来几个数



											

	    

	

你别吓我啊