Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 从用户获取输入并将其存储在数组中_C_Arrays_Input - Fatal编程技术网

C 从用户获取输入并将其存储在数组中

C 从用户获取输入并将其存储在数组中,c,arrays,input,C,Arrays,Input,我对C非常陌生,如果有人能告诉我如何做到这一点,那就太好了: 我正在尝试使用fgets获取用户输入。因此,如果用户输入以下整数: 123445 如何扫描它们并将它们放入整数数组=[1,2,3,4,5] 下面是我现在正在尝试做的:我不断地循环并要求用户输入一个数字,直到用户不输入任何东西。在每次迭代中,我都将用户的输入保存到数组中 int myArray[200]; char input_str[1024]; fprintf(stdout, "Enter numbers: "); if (fg

我对C非常陌生,如果有人能告诉我如何做到这一点,那就太好了: 我正在尝试使用fgets获取用户输入。因此,如果用户输入以下整数: 123445

如何扫描它们并将它们放入整数数组=[1,2,3,4,5]

下面是我现在正在尝试做的:我不断地循环并要求用户输入一个数字,直到用户不输入任何东西。在每次迭代中,我都将用户的输入保存到数组中

int myArray[200];
char input_str[1024];

fprintf(stdout, "Enter numbers: ");

if (fgets(input_str, sizeof(input_str), stdin) == 0){
    fprintf(stderr, "Error returned from fgets()...\n");
    exit(1);
}

sscanf(input_str, "%d", &n);
myArray[i]=n;

//The while loop will continue as long as the string is not null
while( input_str[0]!='\0'){

    if (fgets(input_str, sizeof(input_str), stdin) == 0){
        break;
    }
    for (i=1;i<201;i++){
        sscanf(input_str, "%d", &n);
        myArray[i]=n;
    }
}
是否有必要将FGET置于环路外?我应该得到的
#include <stdio.h>

int main(void){
    int myArray[200];
    char input_str[1024];
    int i, n = 0;
    size_t full = sizeof(myArray)/sizeof(*myArray);

    fprintf(stdout, "Enter numbers: ");

    while(fgets(input_str, sizeof(input_str), stdin) != NULL){
        char *p = input_str;
        int v, len;

        if(*input_str == '\n' || n == full)
            break;//input end if blank line

        while(1==sscanf(p, "%d%n", &v, &len)){
            myArray[n++] = v;
            p += len;
            if(n == full)
                break;
        }
    }
    //check print
    for (i=0;i<n;i++)
        printf("%d ", myArray[i]);
    return 0;
}