2014-11-05 47 views
-1

我读过这里,在/ 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; 
 
}

回答

0

你在你的if语句在这里呼吁两次scanf的,一旦原来的呼叫和一次。替换括号内的语句由

if (inputNumber!= 1) 

你应该没问题!

相关问题