不是/ scanf,但程序仍然等待
问题描述:
我读过这里,在/ scanf中的/ n使程序等待另一个输入。但我的程序在scanf中没有/ n,但在输入数字后它仍然等待另一个输入。不知道为什么。不是/ scanf,但程序仍然等待
#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;
}
答
你在你的if语句在这里呼吁两次scanf的,一旦原来的呼叫和一次。替换括号内的语句由
if (inputNumber!= 1)
你应该没问题!