C語言中unsigned int a 1 printf1 d n」,a為什麼輸出值

時間 2021-06-25 15:00:10

1樓:吉祥二進位制

輸出值為-1。

原因:1、在c語言中整型常量的資料型別預設為int,所以unsigned int a = -1中,-1的型別是int型別。實際上是有一個隱式轉換,即將int型別轉成unsigned int型別。

這個轉換的意義不大,因為沒有超出unsigned型別的表示範圍,所以a的機器碼依然是-1的機器碼。

2、printf輸出函式的控制字元是%d,即輸出有符號數,所以結果是-1,如果要輸出無符號數,請使用:

printf("%u\n", a);

2樓:匿名使用者

因為%d輸出的是有符號數,printf根據%d把a當作有符號數來讀了

3樓:

你應該輸出了"-1=-1"吧; %d換成%u試試。

c語言中怎麼表示,C語言中 怎表達?

四舍 入 標準的c語言中沒有 這個符號及常量,一般在開發過程中是通過開發人員自己定義這個常量的,最常見的方式是使用巨集定義 define pi 3.141592 也可以直接普通變數定義,如 double pi 3.141592 可以負責任的告訴你,c99標準裡沒提這事,但大部分實現裡 vs和gcc ...

C語言中if和switch區別,C語言中if else語句與switch語句的區別在哪裡?

風若遠去何人留 switch語句,可讀性更好,整體流程看起來清晰明確。if語句適應性更強,可以處理更多的情況。所有的switch語句都可以寫成if的形式,比如switch a 可以寫作 if a b case b else if a c case celse default.但是switch 語句,...

C語言中return的含義,C語言中Return 0是什麼作用

及羽揚俊 在函式返回型別為void時,即不需要返回任何值,要想結束函式就用 return 它表示函式執行到這一句時終止函式 return 表示結束當前函式並返回值,如果沒定義,則返回 null 如 return 1 表示返回1 return 表示返回 null 這裡我給你一個簡單的c程式的例子。in...