gpt4 book ai didi

c - 带有空白字符输出的整数数组

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:00 25 4
gpt4 key购买 nike

我正在尝试编写一个 C 程序。它必须输入两个数组,输入应以空格分隔。我试图以某种方式消除“\n”。

#include <stdio.h>

int main()
{
char temp;
int alc[3]={0}, bob[3]={0}, i=0;

//enter alice
do
{
scanf("%d%c", &alc[i], &temp);
i++;
} while(temp != '\n');

i=0;

//enter bob
do
{
scanf("%d%c", &bob[i], &temp);
i++;
} while(temp != '\n');

//print alice
for(i = 0; i < 3 ; i++)
{
printf("%d ", alc[i]);
}

//print bob
for(i = 0; i < 3 ; i++)
{
printf("%d ", bob[i]);
}


return 0;
}

输出./a.out

5 6 7
3 6 10
5 6 7 3 6 10

有更好的方法吗?

最佳答案

想法是获取该行作为输入,然后使用 strtol 等对其进行解析以获取整数。您将使用 fgets 获取该行。然后你将它存储在数组中。现在有两种选择,

  • 如果您获得的元素多于您可以在数组中容纳的元素,那么当数组已满时您将显示错误。

  • 或者使用动态分配的内存,它会随着您输入的数字的增加而增长。

恐怕,使用 scanf 直到你得到整数是一个选项 - 但这不是一个好主意,而且 scanf 也不是解决这个问题的简单方法。

关于c - 带有空白字符输出的整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48561154/

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