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...