我目前正在开发一个扫描每个int的程序,并确定它是否完美。问题是,我不知道输入中有多少个整数,所以我想知道如何在输入结束时停止扫描。
代码:
#include <stdio.h>
int main() {
int input[500], count;
for (count = 0; count < 500; count++) {
scanf("%d", &input[count]);
if (input[count] == 0)
break;
}
for (count = 0; count < 500; count++) {
if (findFactors(input[count]) % input[count] == 0)
printf("%d perfect\n", input[count]);
else if (findFactors(input[count]) % input[count] <= 2 ||
findFactors(input[count]) % input[count] >= input[count] - 2)
printf("%d almost perfect\n", input[count]);
else
printf("%d not perfect\n", input[count]);
}
}
在这种情况下,我需要输入500个数字才能运行代码。我需要它在输入为空时运行。我知道有&#39; / 0&#39;或其他什么,但我不知道如何在此代码中使用它。
答案 0 :(得分:0)
使用函数时,请阅读doc
返回值
这些函数返回成功匹配的输入项数 和分配,可以少于提供,甚至零 早期匹配失败的事件。
所以你需要检查scanf的返回值:
# 0 is the script itself, technically an argument to python
script = sys.argv[0]
# 1 is the command arg you passed
command = sys.argv[1]
# 2 is the comport arg you passed
comport = sys.argv[2]