看看这个程序,有什么问题
#include<stdio.h>#include<math.h>
void main()
{
void pro(char * p);
char str[20];
gets(str);
pro(str);
getch();
}
void pro(char * p)
{
int k=0,s=0,digit=0,t=0,i,j,flag=0,a[20];
for(i=0;* (p+i)!='\0';i++)
{
if(* (p+i)>='0'&& * (p+i)<='9')
{
t++;flag=1;
}
else flag=0;
if(t>0&&flag==0)
{
for(j=i-1,k=0;j>=i-t&&k<t;j--)
{digit+= * (p+j)*pow(10,k);
k++;}
a[s]=digit;
t=0;k=0;digit=0; s++;
}
}
printf("there are %d nums!\n",s);
for(i=0;i<s;i++)
printf("%d",a[i]);
}
输入一个字符串,内有数字字符和非数字字符。要求将连续的数字最为一个整数,一次存放到一数组a中。