如何判斷scanf 輸入是int型 正整數

2021-07-12 06:28:50 字數 962 閱讀 5086

scanf()也有返回值,輸入正確時,返回正確讀入的引數個數,且為int 型;無引數正確讀入或檔案末尾錯誤,返回0或eof;

利用其返回值判斷輸入是否為int,若輸入為字母、小數或其他特殊符號退出迴圈,**如下:

int main(void)

int status, num = 1;

printf(" please input a integer number: \n ");

status = scanf("%d", &num);

while(status == 1)

printf(" num = %d \n ",num);

printf(" please input another integer number: \n ");

status = scanf("%d", &num);

printf("done!\n");

return 0;

以上**只能判斷輸入為int型,可通過新增判斷語句限制輸入為正整數;

while(status == 1 && num > 0)

使用scanf輸入int或char資料

使用scanf輸入資料 scanf c c 輸入 100,實際唯讀了字元 1 printf c n c 輸出 1 printf d n c 輸出49.字元t的ascii值就是 49 說明 char 型別的變數,它儲存的是 字元對應的ascii碼值。int 變數的輸入 int a seanf d a ...

如何判斷int型別溢位

int型別為4位元組共32位,所以乙個int能夠表示的資料的範圍為 231,231 1 表示為十進位制為 2147483648 2147483647 int資料型別出現異常的情況一般是在資料發生加法和乘法操作。對於加法運算 define int max 2147483647 int a int ma...

Int是如何轉成String的

string.valueof 123 好奇123是怎麼轉為string的 點開原始碼看了下 內部呼叫了integer.tostring 方法 那麼integer.tostring 又是怎麼將int變成string的?可以看到如上 是將數字的每一位都轉成了char陣列的元素。而string內部其實就是...