c語言中,怎麼判斷變數的型別 如何判斷變數是int還是l

2021-05-23 04:54:20 字數 1787 閱讀 3861

1樓:yesyes科

1、首先在duc語言中,long long 是c99標準對整形類zhi型做的擴充套件,dao每個long long型別的變數佔8位元組版,64位。如下圖使用%lld輸出。權

2、這種輸出方法的結果如下圖所示,可以看到輸出結果是0,而很明顯輸出的結果不應該為零,也就是說輸出結果是錯誤的。

3、這時要看下是不是函式有問題,採取的方法如下圖所示。

4、修正之後的輸入結果下圖所示,通過這個過程,得出的結論是輸出long long型別的資料應該使用prinf的%lld格式,注意輸出函式不要寫錯。

5、最後輸出bool型別的資料,其使用printf的輸出格式如下圖所示。

6、最後輸出結果如下圖所示,就完成了。

2樓:匿名使用者

標準c裡是沒有方法獲得一個變數的型別的,在gcc擴充套件c中有typeof可以使用,在linux的很多地方都用到了typeof,和sizeof類似。

3樓:煭鯖

雖然用這個sizeof()函式復

可以通過位元組制數判斷!

bai但是你說int 和 long int這裡就會出du現問題!應zhi為int 和long int 都是4個位元組dao

!還有float!只能說sizeof()可以區分字元和數字。至於要去區別long int 和int 有點難!不必糾結這個吧...

4樓:輿影

可以用單目運算子sizeof(變數名)進行判斷,16位機下int是2位元組,32位機下是4位元組,long int是8位元組

5樓:匿名使用者

用typeid的成員函式解決

6樓:金色潛鳥

c++ 裡有。c 我沒

試過。版

調 typeid()。 頭文權件#include#include

#include

using namespace std;

main()

7樓:夕心木

同上,使用sizeof()函式判斷

c語言如何判斷輸入型別?

8樓:神速小羊

if(scanf("%d",&h)!=1)

printf("it's not a number!\n");

因為scanf是從快取中讀取輸入的資料如果你輸入的不是數字,就會返回0,如果是數字就會返回1;

一般人不知道scanf還有返回值,就可以看看標頭檔案中scanf的定義了。

其實我還有一個更好的辦法,你輸入的不是數字就要他重新輸入,直到輸入的是數字為止,這樣是最好的寫法。

程式如下:

#include

int main()

}其中fflush(stdin)是清理快取,就像我上面說的scanf是從快取取數的,

9樓:八千漢字

#include

int main()

輸入成功是有 數量的,比如這個 你成功一個 scanf()函式返回值便是 1,成功3個便是3;

通過檢測 scanf() 返回至確定是否輸入成功不成功 的話 清除 輸入緩衝 ,然後 讓使用者重新輸入

10樓:匿名使用者

int is_digit(char*c) \\判斷字串是否都為數字

return 1;

}int main()

value=atoi(s);\\將字串轉為整數/*do something*/

return 0;}

c語言中怎麼表示變數n次方,C語言中怎麼表示1個變數n次方

用pow函式 pow函式的形式 pow double x,double y 用來求解x的y次方。使用pow函式時,如果變數原先定義為回整型,需要強制答轉換為浮點型。例如 float x,y pow x,y 求x的y次方 再例如 int x float y pow double x,y 求x的y次方 ...

C語言中怎樣定義常量變數,C語言中是如何定義常量的啊

常量的定義用const關鍵字 const 型別名 常量名 值 變數的定義是 型別名 變數名 c語言中是如何定義常量的啊 我們在用c程式設計時有時需要定義不變的變數,即常量,有兩種方法。例如 定義常量pi的兩種方式 1.define pi 3.1415926f 2.const float pi 3.1...

c語言,如何檢測變數的資料型別,C語言,如何檢測變數的資料型別?

話說,你理解抄 錯了。型別的定義其實是為了讓人能更好的理解。對電腦來說,任何變數只有位元組大小的差異。我給你舉個例子,你就很好理解了 變數 a 在記憶體中用二進位制表示為 11111111111111111111111111111111 如果a 定義為int 則表示為 1,如果a定義為unsigne...