{{adMap.article_top.title}}
{{adMap.article_top.cta}}

#提問 關於C++ char陣列問題
程式設計板 {{ articleMoment(createdAt) }}

char b[5]; cout << (int)b[0]; 結果print出來的結果是44 我知道char儲存的是ascii的數值 那char array 在未指定值之前為何經過強制轉型後會輸出44? 但如果單純以char輸出則是空白 想請問版上大大們這是為甚麼呢?


  回文

你可能有興趣的文章...

{{adMap.article_bottom.cta}}
{{adMap.article_bottom.title}}
{{adMap.article_bottom.content}}

全部留言

B1 {{commentMoment( "2018-09-17T05:34:02.481Z" )}}

如果我沒有記錯的話是這樣 對未指定值的變數做取值屬於未定義行為 未定義行為的意思就是說 電腦可以做任何它想做的事情 它可能會告訴你是44 也可能是94 87之類的 你沒有辦法預測它會是多少 輸出是空白也是一樣的道理 那 如果你指定b[0]的值是44 它就會輸出','了

收合內層留言icon {{comments[0].isShow ? '收合' : '展開' }}1則留言
如果我沒有記錯的話是這樣 對未指定值的變數做取值屬於未定義行為 未定義行為的意思就是說 電腦可以做任何它想做的事情 它可能會告訴你是44 也可能是94 87之類的 你沒有辦法預測它會是多少 輸出是空白也是一樣的道理 那 如果你指定b[0]的值是44 它就會輸出','了
1
匿名

匿名

B1-1 (原 Po)   {{commentMoment( "2018-09-17T05:34:02.481Z" )}}

感謝大神解答😇

感謝大神解答😇
0
B2 {{commentMoment( "2018-09-19T14:27:09.817Z" )}}

我猜你不是開全域(因為開全域初始值設成0) 然後不是在全域,那他一開始會是什麼值呢? 這就要看你那一格記憶體的狀況了。。。

收合內層留言icon {{comments[1].isShow ? '收合' : '展開' }}1則留言
我猜你不是開全域(因為開全域初始值設成0) 然後不是在全域,那他一開始會是什麼值呢? 這就要看你那一格記憶體的狀況了。。。
1
匿名

匿名

B2-1 (原 Po)   {{commentMoment( "2018-09-19T14:27:09.817Z" )}}

謝謝大神!我還在努力學習中

謝謝大神!我還在努力學習中
0
B3 {{commentMoment( "2018-10-17T04:31:05.057Z" )}}

其實不一樣的IDE,會有不一樣的情況,不一定就是全域會自動指定值 = 0。有時候IDE甚至在debug的時候就強制叫你指定了

其實不一樣的IDE,會有不一樣的情況,不一定就是全域會自動指定值 = 0。有時候IDE甚至在debug的時候就強制叫你指定了
0


登入後發表留言






確定要刪除此文章?
#提問 關於C++ char陣列問題

char b[5]; cout << (int)b[0]; 結果print出來的結果是44 我知

檢舉{{reportFloor? '留言B'+reportFloor: '文章'}}
檢舉{{'原po回覆B'+reportFloor+'留言'}}
請選擇刪除文章原因
請選擇刪除留言原因
您即將進入之文章內容需滿十八歲方可瀏覽

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於網站首頁或各該限制級網頁,依台灣網站分級推廣基金會規定作標示。若您尚未年滿十八歲,麻煩點選離開。若您已滿十八歲,一樣不可將本區之內容派發、傳閱、出售、出租、交給或借予年齡未滿18歲的人士瀏覽閱讀,或將本網站內容向該人士出示、播放或放映。

離開
問題讀取中...稍待60秒...