关于sscanf的使用
需要输入若干整数(正数,负数,0),输出乘积的后3位,整数中会混入大写字母
我想用scanf输入在字符串,然后把字符串中的字母的都弄成空格
再用sscanf取出中间的数,但是好像sscanf是个输入了好多个数,结果不对
程序如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char s[500];
int shu[500];
int main()
{
int a,b,n=1;
scanf("%s",s);
for(a=0;a<strlen(s);a++)
if(isalpha(s[a]))s[a]=' ';
a=0;
while(sscanf(s,"%d",&shu[a++])==1);
for(b=0;b<a;b++)
n=n*shu[b]%1000;
printf("%d",n);
return 0;
}
前面去字母的经测试没问题,
我想可能是sscanf的问题,sscanf是遇到EOF结束么?
求指教