1樓:
scanf函式在正確接收匹配資料時返回已為變數正確賦值的個數。這裡只有一個變數a,所以輸入正確時返值為1。故可迴圈檢查scanf的返值是否為1,不為1則說明出錯,要求重新輸入即可。
舉例**如下:
//#include "stdafx.h"//if the vc++6.0, with this line.
#include "stdio.h"
int main(void)
2樓:匿名使用者
c語言好像沒有提供判斷float型別的函式吧,如果是擔心輸入錯誤的話,可以使用while迴圈,在裡面檢測scanf函式的返回值是否正常。另外,scanf對float的讀入是有bug的,最後改用double,不然到時候出了問題,會鬱悶死的
3樓:匿名使用者
float a;
while(scanf("%f",&a)==1)
scanf語句只有在正確輸入相應型別是才會返回函式值1,這樣就可以驗證輸入資料是否為浮點型資料了,希望我的回答對你有所幫助
4樓:匿名使用者
嘗試以下**:
#include
int main(void)
else printf("%f",a);
return 0;
5樓:匿名使用者
#include
int main()
else
flag = 0;
}return 0;
}在vc6.0下驗證過了,沒有問題
c語言中怎麼判斷輸入的數是整數還是浮點數?
6樓:匿名使用者
判斷是否有小數唄,但是不科學,也許有更好方法#include
void main (void)
else}
7樓:匿名使用者
c語言中沒有判斷輸入是整數還是浮點數的既有功能,需要自己實現.
實現方法是把輸入作為字串讀入,然後自行分析該字串表示的是整數還是浮點數.
8樓:匿名使用者
可以用sizeof()來判斷,他們的位元組數是不相等的!int是4,float是8!希望對你有幫助!
c語言如何判斷一個數是不是浮點數
9樓:孝珺琪回胤
不太懂你的意思,正常理解的話,你應該是字串輸入。然後判斷是不是浮點數
如果確定只有0~9
和小數點,那麼只需要判斷是不是含有小數點即可,及時是3.00也是浮點數
10樓:幹依秋厚躍
假如a是浮點數,再定義一個整型變數int
b=a;再定義一個float
c=a/b,假如c=1則浮點數a是整數
c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素
include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...
怎樣檢查C語言輸入資料的合法性,C語言中怎樣判斷變數名的合法性?
如果是整數的話,這麼判斷就行 float num int num2 scanf f num if num int num num2 int num 如果輸入正確,將整數儲存到num2中 else printf eof 用 if scanf d x 1 判斷。scanf,fscanf 送返 正確地讀入...
C語言中如何控制非法輸入 c語言如何限制非法輸入
c語言中大部分自帶的方法都有返回值,像scanf方法如果輸入正確的話,它會返回一個正整數,所以你可以通過它來判斷,如果輸入不正確的話它返回是0,你就可以通過這個判斷是否為非法輸入。scanf 函式有返回值且為int型。scanf 函式返回的值為 正確按指定格式輸入變數的個數 也即能正確接收到值的變數...