本人是一个新手,刚刚自学完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 回答
- 1 回答
- 0 关注
- 720 浏览
添加回答
举报
0/150
提交
取消