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