一个有关指针的问题,请教一下
用指针做,将一个字符数组中数字,赋给一个整型数组,比如Aa223aeb54...中的223,54
程序代码:#include <stdio.h>
int tenPow(int);
int searchNum(int *a,char *str,char *num);
int main()
{
char str[100];//存放输入的字符串
int a[100],i,n;//存放数字
char num[10];//用来存放每次取出的一组数字符号
printf("input string:\n");
gets(str);
n=searchNum(a,str,num);
printf("the seleted numbers are:\n");
for(i=0;i<n;i++)
printf("%d ",a[i]);
putchar(10);
return 0;
}
int searchNum(int *a,char *str,char *num)
{
int i,result,bit,anum=0;
char c=*(str++);
while(c)
{
if(c<'0' || c>'9')
c=*(str++);
else
{
bit=i=result=0;
num[i++]=c;
c=*(str++);
while(c>='0' && c<='9')
{
num[i++]=c;
c=*(str++);
}
//计算num[i]中存放的数字
int j=0;
while(i>0)
{
bit=(num[j]-'0')*tenPow(i-1);
result+=bit;
i--;
j++;
}
a[anum++]=result;
}
}
return anum;//返回a[100]中存储数字的数量
}
int tenPow(int i)
{
int x=1;
while(i>0)
{
x *= 10;
i--;
}
return x;
}
我以前做过的一道练习题,供你做参考