第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Linux下C語言的一道經(jīng)典面試題

Linux下C語言的一道經(jīng)典面試題

MM們 2018-08-02 17:05:06
如果在Linux下使用GCC編譯器執(zhí)行下列程序,輸出結(jié)果是什么?#include<stdio.h>int main(){    char c=127;    printf("%d",++c);    printf("%d",++c);    return 0;}只是知道涉及到類型轉(zhuǎn)換、數(shù)據(jù)截?cái)嗵畛?。但不知道具體解釋?原問題出處:Linux下C語言的幾道經(jīng)典面試題
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊

這題考的是 編譯器,而不是語言。
定義3個(gè)變量:

char c; // 表示一個(gè) ascii字符
signed char s_c;   //有符號 1字節(jié) 整數(shù)
unsigned char u_c; //無符號 1字節(jié) 整數(shù)

C語言里,c 在參與計(jì)算時(shí), c 轉(zhuǎn)為 s_c 還是 u_c ,是由編譯器來決定的。

gcc 認(rèn)為 c 是 有符號的,后續(xù)的計(jì)算 和 輸出 都是按有符號數(shù)進(jìn)行處理。


查看完整回答
反對 回復(fù) 2018-08-05
?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

char 的長度是 1 字節(jié),并且,大多數(shù)的機(jī)器都將其視為有符號數(shù)的,所以它的表示范圍是 [-128, 127](參見《深入理解計(jì)算機(jī)系統(tǒng)》P27~P28)。所以,當(dāng)你給 c 賦值 127 時(shí),你執(zhí)行了 ++c,那么就會(huì)導(dǎo)致溢出,因?yàn)樗挥幸粋€(gè)字節(jié)。

在機(jī)器中表示 127,變成二進(jìn)制是這樣的 01111111,可以看到,當(dāng)你加 1 之后,結(jié)果就變成了 10000000,由于在計(jì)算機(jī)內(nèi)部,負(fù)數(shù)是用補(bǔ)碼來表示的,所以就變成了 -128。之后再 ++c,就是 -127 了。

至于不同的類型,其實(shí)在計(jì)算機(jī)內(nèi)部表現(xiàn)的都是一樣的,都是一塊內(nèi)存。所以類型不是限制。


查看完整回答
反對 回復(fù) 2018-08-05
  • 3 回答
  • 0 關(guān)注
  • 1397 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號