C程序,使用户在一行中键入多个动态输入

scyqe7ek  于 2022-12-22  发布在  其他
关注(0)|答案(1)|浏览(102)

我怎样才能像这样进行一行动态输入-〉1 4 3 5当然,它可以用这种方法来完成-〉

scanf("%d %d %d %d", &variable[0], &variable[1], &variable[2], &variable[3]);

在本例中,我只取4个输入...

但我的问题是,如何使它动态化并对随机数起作用?

// Sample Input
3 // number of rows
5 // number of columns

// 2d array with dynamic input
1 4 3 5 97
5 6 7 4 51
2 9 8 3 0
z31licg0

z31licg01#

使用循环读取每个数组项。

int rows, cols;
if (scanf("%d %d", &rows, &cols) != 2) {
    printf("Unable to read rows and cols\n");
    exit(1);
}
int variable[cols];

for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        if (scanf("%d", &variable[j]) != 1) {
            printf("Unable to process input\n");
            exit(1);
        }
    }
    // do something with the variable array
}

注意,scanf()并不区分分隔标记的不同类型的空格,所以这将读取同一行、不同行或混合行上的所有数字。

相关问题