gpt4 book ai didi

c - 如何扫描n个整数行?

转载 作者:行者123 更新时间:2023-12-04 09:37:08 26 4
gpt4 key购买 nike

在c中,我可以使用scanf从标准输入中读取说3个以空格分隔的整数,如下所示:

#include <stdio.h>

int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
}


如果我不知道之前的行中有多少个整数怎么办?假设用户提供了整数数量:

#include <stdio.h>

int main() {
int howManyIntegersToRead;
scanf("%d", &howManyIntegersToRead);
// Read in the integers with scanf( ... );
}


我将需要分配一个大小为 sizeof(int) * howManyIntegersToRead个字节的数组。我实际上如何将标准输入数据读入分配的内存中?我无法使用 howManyIntegersToRead%ds构造格式化的字符串。好吧,我可以,但是必须有一个更好的方法。

最佳答案

您可以使用for循环尝试这样做:

int i, size;
int *p;
scanf("%d", &size);
p = malloc(size * sizeof(int));
for(i=0; i < size; i++)
scanf("%d", &p[i]);

关于c - 如何扫描n个整数行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22908922/

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