#include
#include
#include
#define N 1000
void func(char *str,int *p,int *num)
{
int a[N];
int i,sum,b;
while(1)
{
i=0,sum=0,b=0;
while(*str!='0'&&*str>='0'&&*str<='9')
{
a[i]=*str-'0';
i=i+1;
b=b+1;
str++;
if(*str<'0'&&*str>'9')
break;
}
for(i=0,b;b>=0;b--)
{
sum+=a[i]*pow(10,b);
(*num)++;
}
*p=sum;
p++;
if(*str=='\0')
break;
}
}
int main()
{
char a[N];
int b[N],n,i;
int *z,*v;
char *m;
m=a;
z=b;
v=&n;
gets(a);
func(m,z,v);
for(i=0;i<n;i++)
{
printf("%d\t",b[i]);
}
printf("%d",n);
}
问题如下:
编写函数,实现如下功能:根据给定的字符串,如:“a123x456178?23 304tbc789”,将其中的连续数字作为一个整数拷贝到一个数组中去,并统计该字符串共有多少个整数。函数原型:void func(char *str, int *p, int *num); 其中str是需要处理的字符串,p指向数组用于保存数据,num指向保存整数个数的变量。
求大神帮忙
错误如下: