我在这里读到,scanf中的/ n使程序等待另一个输入。然而,我的程序在scanf中没有/ n但在输入数字后仍然等待另一个输入。不知道为什么。
#include <stdio.h>
int main()
{
int inputNumber, index = 2, lowestPrime = 1, number = 1;
printf("Enter an integer: ");
scanf("%d", &inputNumber);
if(scanf("%d", &inputNumber) != 1)
{
printf("Invalid input");
return 1;
}
else
{
printf(" The prime factorization of %d is",inputNumber);
while(inputNumber > lowestPrime)
{
if(inputNumber % index != 0)
{
index += 1;
}
else
{
inputNumber = (inputNumber / index);
printf(" %d", index);
}
}
}
return 0;
}
答案 0 :(得分:0)
你在这里两次调用scanf,一次是原始调用,一次是if语句。用
替换if括号内的语句if (inputNumber!= 1)
你应该没事!