c語言中int型變數與char型變數什麼情況下不能互換

時間 2021-10-17 02:37:57

1樓:匿名使用者

其實這種問題,從表面說也沒有什麼特別的意義,因為本來就沒有什麼嚴格意義上的能不能互換的問題。只要能在使用過程中,滿足本來的要求就可以了。

例如:在將int型變數轉換為char型時,要考慮到資料的溢位問題等;

char轉換為int時,要考慮到它的符號問題。

在根本上只要認清它們兩者之間的區別就可以了。

int型的變數,為有符號的16位或者32位整數,依處理器的字長決定;

而,char型的變數,一般為8位的整數,常用來表示單個字元。分為有符號和無符號兩種。

2樓:匿名使用者

先舉例 int型變數轉換為char型變數

unsigned long int i=1234,c;

unsigned char a,b;

a=i/256;

b=i%256;

c=a*256+b;

接著是char型變數轉換為int型變數

範例 /* 將字串a 與字串b轉換成數字後相加*/#include

mian()

執行 c="356"

3樓:

當char的值超出自己的範圍的時候,int型本身就比char變數的範圍大。

c語言中int型別的變數,能不能與char型別的變數做乘法

4樓:德昂當

這要看你想得出bai什麼結果了

du。如果輸入

zhi 1306 a[10]="1306";

i=3 a[i]='6'; '6'是個字元它的daoascii值是 0x36 十進位制就是

回 54

item=54*pow(10,j-1);

如果你想要的是答 6*pow(10,j-1) 那就要用 a[i]-0x30再乘

5樓:匿名使用者

傳說中的型別轉換……

c語言中,char是幹什麼用的?它和int ,float有什麼區別?拜託舉個例子。

6樓:year勿忘_心安

char 是字

bai符型別 比如

說 char a=‘a’ 宣告du了一zhi個字元型別的變dao量專

int 是整型屬 比如說 int a=1 宣告瞭一個整型的變數float是浮點型 比如說 float a=1.0 宣告瞭一個浮點型的變數

望採納 謝謝

7樓:雨憶聆聽

int是整型資料

bai;如du:int a 則a的值只能

是整型zhi;如a=3;

char是字元型;如:char a 則a的值dao只能是回字元型;如a='a'

float是浮點型資料答;如:float a 則a的值只能是浮點型資料;如a=3.50;《即我們數學中的實數:必須寫成小數形式》

8樓:小樂公主

(型別)

其中,bai型別du描述,如整型,浮點等類zhi型是一個表達dao式。投運營商操版作後,返權回型別為型別的值都有,這蒙上操作本身不改變操作中,操作後的操作本身並沒有改變,例如:

int nvar = 0xab65;

字元cchar = char(nvar);這些結果鑄造是0xab65高2個位元組刪除的整數值,這兩個位元組分配給變數的值作為char型別cchar含量的低端,並且轉換後的值nvar型別後沒有改變。

c語言中 char與int有什麼區別?

9樓:鄙視04號

c語言中 char 與 int 具體區別如下:

1、表示的變數型別不同:

char 是字元變數,而 int 是整型變數。

2、申請的型別資料不同:

char 用來申請字元和字串或者字串指標;int 用來申請整型資料,或者整形資料指標。

3、位元組、能表示的內容不同:

char只有一個位元組,int有4個位元組,能表示的內容大小不一樣;char只有0~255,int範圍[-2^31 , 2^31 -1] (處理器是64位的可以更大)

10樓:長憶

char 是字元變數,用來申請字元和字串或者字串指標的

int是整型變數,用來申請整型資料,或者整形資料指標

11樓:匿名使用者

char是單字元,int是整形數,一個char型別變數只佔一個位元組記憶體,而一個int型別變數佔四個位元組

12樓:手機使用者

儲存需要的 位元組數不同,在32位機器上,一個int變數需要4個位元組(32位);一個char變數需要1個位元組(8位)

13樓:匿名使用者

char佔用一個記憶體(8bit),int佔用4個記憶體(32bit).還要看編譯器的環境,不同的編譯器給每個資料型別定義的長度可能有不同。

14樓:此使用者被關機

區別就是儲存資料的大小不一樣

int一般是4個位元組(有些系統是8個位元組和long一樣。。)

而char一般是1個位元組

15樓:匿名使用者

char佔用一個記憶體,int佔用4個記憶體,他們表示的值的範圍也不一樣

在c語言的變數型別說明中,int,char,float等型別的長度是否是固定的?

16樓:

char 長度固定, 1個位元組

float 長度固定, 4 個位元組

short int 長度固定, 2個位元組

long int 長度固定, 4 個位元組

int 長度 取決於編譯器把它處理成 long 還是 short。 例如,vc++ 處理成 long int, tc 處理成 short int. 當然可以用 sizeof(int)算出。

17樓:絕密賬本

具體不大一樣,char型在任何情況下都是佔1個位元組,而比如int型,它的長度與環境的字長相同,在16位的環境中,它佔16位,2個位元組;32位環境中佔4個位元組。

所以,如果在程式設計中牽扯到型別或變數的字長問題,建議用sizeof()獲取,較為保險,不要想當然的認為多少就是多少

18樓:仙藤紫霧

相同編譯器當然是固定的,但不同編譯器給它們分配的記憶體是不同的,也就是說它的大小取決於你用的編譯器,你可以用sizeof(int)等來求出它們的位元組數

19樓:匿名使用者

編譯器不同會有差別,但是好像char就是1byte!

c語言把int型變數a高位賦值給char型變數b其中

右移操作需要區分有符號右移和無符號右移,無符號數右移時在前面補零,有符號數右移時在前面補符號位 0或1 本題16位int型轉化為8位char型,int型的高8位將被階段,實際傳給char型的數值只有低8位,可以用 b char a 8 實現,加上後面的 有利於 的規整性與可讀性 表明你考慮到了右移操...

c語言中int型變數加上double型的變數

程振 會將int型別轉換成double型別再與double型別的變數相加。型別不一樣的數相加,首先將型別轉換成一樣的然後相加,轉換原則,短型別向長型別看齊,長短指在記憶體中所佔空間的長短 得出的結果是double型.這個不需要強制轉換的,系統會自動轉換的. double,計算時會自動轉化之doubl...

在C語言中,怎麼判斷變數是int型的還是char型的

變數是int型的還是char型,是由宣告決定的。函式呼叫時引數型別錯,你編譯時就通不過呀。unsigned char 可以當無符號整型用。 假設函式形式為 int function int n 方法1 判斷實參字長 int function int n 在c語言裡有個函式可以判斷輸入的是不是數字或者...