C语言,直接输入一串整数,两两用逗号分隔,怎么把它们赋给一个数组

不知道将会输入多少个整数,用户只要输入一串整数,如56,68,103,22,35,87……可以在输入任意个整数后回车结束,如何把这些整数赋给一个数组?
本人菜鸟,刚刚学到数组,还请各位大神指教(用越初级的代码完成越好)

#include<stdlib.h>
#include<stdio.h>

int main() {
int a[100];
int i = 0;
while(scanf("%d", &a[i++]) != EOF) {//换行后再只能Ctrl+z 如 1,1,2 Enter Ctrl+z
scanf(",");
}
i--;
for(int j = 0; j < i; j++)
printf("%d ", a[j]);
system("pause");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-20
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c;
int num=0 , len=0, i;
int* p;
while((c = getchar()) != '\n'){
if(c>='0' && c<='9'){
num = num*10 + (c-'0');
} else {
if(len == 0){
p = (int*)malloc(sizeof(int)*len++);
} else {
p = (int*)realloc(p, sizeof(int)*(++len));
}
p[len-1] = num;
num = 0;
}
}
if(len == 0){
p = (int*)malloc(sizeof(int)*len++);
} else {
p = (int*)realloc(p, sizeof(int)*(++len));
}
p[len-1] = num;
for(i =0;i<len;i++){
printf("%d ", p[i]);
}
return 0;
}本回答被网友采纳
相似回答