我知道我可以使用scanf
读取一定数量的数字,例如读取3个数字。
scanf("%d %d %d",array[0],array[1],array[2]);
但如果我不知道在输入(非EOF)之前将有多少个数字(整数,而非浮点数)输入到数组中,那该如何扫描它呢?例如
input : 12 43 23(enter) --> array[0]=12, array[1]=43, array[2]=23
input : 10 20 30 40 50(enter) --> array[0]=10, array[1]=20, array[2]=30, array[3]=40, array[4]= 50
etc..
这篇文章讲述了如何将数字输入到整型数组中。
如果可能的话,我想将它保存到一个二维数组中,比如:
input : 12 43 23(enter) --> array[0][0]=12, array[0][1]=43, array[0][2]=23
input : 10 20 30 40 50(enter) --> array[1][0]=10, array[1][1]=20, array[1][2]=30, array[1][3]=40, array[1][4]= 50
fgets
和strtol
函数来实现。 - Some programmer dudeint buf [1000]
,然后只需保持计数器(使用示例中的i
)并执行buf [i] = a
来存储该值(并确保您不会在一行上获得超过1000个条目)。 - Iluvatar