我能否以某种方式使用 getchar() 来运行命令行,直到我点击“\n”。 假设我想扫描输入的所有值,例如。
21 23 1 78 54 '\n'。我想将所有五个值扫描到一个数组中。我无法扫描它们。是因为每个值之间的间距吗?或者是否有我们可以用来执行此操作的函数?
提前致谢
最佳答案
如果您不想使用 getchar()
,那么我有一个使用 scanf
和 %d
转换说明符的简单解决方案:
while (i < ARRAY_SIZE && scanf("%d", &a[i]) == 1)
i++ ;
%d
转换说明符告诉 scanf
跳过任何前导空格并读取下一个非数字字符。返回值是成功转换和赋值的次数。由于我们正在读取单个整数值,因此成功时返回值应为 1。
关于c - 使用 getchar() 获取多个值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31231783/