我编写了一个代码,是截取字符串中数字的函数,如输入字符串:ah123hs453sh3k后,应将字符串中的字符“123”变为整数123,“453”变为453,“3”变为3,然后放入另一数组中,我的代码是:
main()
{ char str[10];
int a[10]={0};
int i,j,k,m;
int sum;
int number;
i=0;
j=0,sum=0,number=0;
printf("enter:");
gets(str);
printf("\n");
for(m=0;m<10;m++)
printf("%c",str[m]);
while(*(str+i)!='\0')
{
if(('0'<=(*(str+i)))&&((*(str+i))<='9'))
{ number=*(str+i)-'0';
sum=sum*10+number;
number=0;
}
else
{if(('0'<=(*(str+i-1)))&&((*(str+i-1))<='9'))
{ a[j]=sum;
sum=0;
j++;
}
}
i++;
}
printf("out:");
for(k=0;k<10;k++)
printf("%5d\n",a[k]);
}
运行是不能显示正确结果,请各位高手给看看,哪里出现了错误,
[此贴子已经被作者于2006-6-9 22:54:34编辑过]