gpt4 book ai didi

c - 空格分隔的整数到数组

转载 作者:太空宇宙 更新时间:2023-11-04 05:51:50 26 4
gpt4 key购买 nike

我是 C 的新手,我有一个作业,我在其中输入 n 空格分隔的整数,以及 q 由新行分隔的整数。我想将 n 整数保存在数组 a 中,将 q 整数保存在另一个数组 m 中。

到目前为止,这是我的代码,对于 m 而言,它按预期工作,但 a 中的元素非常随机。如何将空格分隔的整数保存到数组中?

int main() {

// The code
int n, q;
int a[n];
int m[q];

scanf("%d %d", &n, &q);

for (int i=0; i<n; i++) {
scanf("%d", &a[i]);
}

for (int i=0; i<q; i++) {
scanf("%d", &m[i]);
}

// Troubleshooting
for (int i=0; i<n; i++) {
printf("%d ", a[i]);
}

printf("\n");

for (int i=0; i<q; i++) {
printf("%d\n", m[i]);
}

return 0;
}

例如当我输入:

1 2 3 4 5 6
0
1
2
3
4
5

我得到:

4 5 3 4 5 6 
0
1
2
3
4
5

最佳答案

我不确定,但是当我运行你的代码时,我得到了段错误,因为不是:

    int n, q;
int a[n];
int m[q];

scanf("%d %d", &n, &q);

你应该先读取 n,q,然后像这样声明 a[n],m[q]:

int n, q;
scanf("%d %d", &n, &q);
int a[n];
int m[q];

我尝试运行您的代码,第一次 scanf 给出 6 6 所以 n=6,q=6然后作为你的例子,我给出了输入:

1 2 3 4 5 6
0
1
2
3
4
5

它打印正确。

关于c - 空格分隔的整数到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39435150/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com