2017-05-30 71 views
0

我試圖檢查一個數字是否是一個整數(num)。檢查輸入是否是一個整數C

在main() -

int num, input; 
    printf("Please enter an integer greater than 1:\n"); 
     input = scanf("%d",&num); 
     if (input != 1){ 
      printf("Invalid input!\n"); 
      return 1; 
     } 

但是當輸入不是整數(33.3爲例), 「輸入」 的值仍是1

printf("%d ", input); 

給我返回1.

該程序的其餘部分工作。剛剛陷入這個小事情。

+0

33.3將讀作整數33. – Evert

+0

'scanf'的返回會告訴你它是否成功 – Badda

+0

我似乎沒有在google上完成你的搜索,然後發佈在stackoverflow上...請做一些詢問前的背景 –

回答

1

您將需要讀取輸入到char[],(所以,沒有必要scanf(),你可以做gets()或類似的東西),然後通過數字檢查自己的價值,數字,使用isdigit()

相關問題