C语言,怎样只读取字符串中的数字?

提示用户输入一组数字,用空格隔开,比如1 2 3,如何读取1,2,3并储存到一个数组中,得到a[]={1,2,3},而不读取空格字符?
感谢三位,但现在问题是,用户要输入的字符长度是未知的......

第1个回答  2010-11-30
int i,j,m;
scanf("%d%d%d",&i,&j,&m);
int a[] = {i,j,m};
for(int k = 0; k < 3; k++)
printf("%d",a[k]);
直接把输入的数字放入数组中就行了,不会有空格字符。
第2个回答  2015-09-09

举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void){
    char a[]="a1k34jkf;4567akl1012kl";
    int i,k,x;
    for(i=0;a[i];i++)
        if(sscanf(a+i,"%d%n",&k,&x)){
            printf("%d ",k);
            i+=x;
        }
    printf("\n");
    return 0;
}

第3个回答  2010-11-30
for(i=0;i<n;i++)
if(a[i]!=' ')pirntf("%d",a[i]);本回答被提问者采纳
第4个回答  2010-11-30
直接循环赋值嘛。
第5个回答  2010-11-30
strlen 获取长度
相似回答