如何将用逗号和空格分隔的整数读入C中的数组

时间:2015-10-07 00:25:49

标签: c arrays

我需要一个以 int1 int2 ... intn 的形式获取输入的函数>。 我需要将这些整数的值存储在一个数组中。单独的函数用于获取要读取的整数数。如何使这两个功能起作用?

如果不清楚,就是这样:

function1获取一个整数来获取要读取的输入数。然后function2将读取输入加一个,但输入必须在一行中,并且必须用逗号和/或空格分隔。

Function1获取,例如 5 。 function2将要读取如下输入: 3,21,5,1,5,2 并将其存储到单独的数组中供以后使用。

有人可以帮忙吗?谢谢。我想过使用循环,但我记得输入必须在一行中。也许scanf?用[^,]?但是如何使它与第一个函数一起使用?

1 个答案:

答案 0 :(得分:1)

试试这个:

#include <stdio.h>

void getInput(int sizeOfInput, int arr[]) {
  int i = 0;
   printf("IN");
  for(; i < sizeOfInput - 1; ++i) {
    scanf("%d, ", &arr[i]);
  }
  scanf("%d", &arr[i]);
   printf("OUT");
}

main(){
  int sizeOfInput = 0;
  printf("Enter how many numbers do you want to enter?");
  scanf("%d", &sizeOfInput);

  int arr[sizeOfInput]; 
  getInput(sizeOfInput, arr);
}

对不起,我很懒,但是为了让你了解它,最好在你使用之前弄清楚这段代码的作用,这也是我没有评论它的原因。