1. 程式人生 > 其它 >簡單判斷輸入的型別

簡單判斷輸入的型別

技術標籤:C

if(scanf("%d",&h)!=1)
printf("it's not a number!\n");
因為scanf是從快取中讀取輸入的資料如果你輸入的不是數字,就會返回0,如果是數字就會返回1;
一般人不知道scanf還有返回值,就可以看看標頭檔案中scanf的定義了。
其實我還有一個更好的辦法,你輸入的不是數字就要他重新輸入,直到輸入的是數字為止,這樣是最好的寫法。
程式如下:
#include <stdio.h>
int main()
{
int h;
while(!scanf("%d"
,&h)) { fflush(stdin); printf("\n輸入錯誤,請重新輸入:\n"); } } 其中fflush(stdin)是清理快取,就像我上面說的scanf是從快取取數的,