本人是一個(gè)新手,剛剛自學(xué)完C++, 今天有感而發(fā),突然想到想到一個(gè)問題,關(guān)于cin對(duì)于字符數(shù)組的輸入,具體的代碼描述是這樣的:(OS: CentOS 7, clang++)運(yùn)行結(jié)果:我覺得這反映了一些深刻的問題:1:代碼的第10行和第11行,我本想輸出數(shù)組的第一個(gè)元素的地址,但為什么輸出了整個(gè)數(shù)組?2:為什么12行和16行的結(jié)果一樣,字符串常量"Hello"不是應(yīng)該存儲(chǔ)在常量區(qū)么?3:如果第8行改為 char *str = "Hello"; 或 char str[] = "Hello",對(duì)于后者,編譯會(huì)發(fā)出警告,并且運(yùn)行到第14行出現(xiàn)段錯(cuò)誤,這兩種表達(dá)式的內(nèi)存分配方式有何異同。4:對(duì)于C語言:為什么第7、8行的結(jié)果一樣? %s有什么內(nèi)涵?clang編譯報(bào)警:clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecatedg++不報(bào)警告
- 1 回答
- 0 關(guān)注
- 745 瀏覽
添加回答
舉報(bào)
0/150
提交
取消