是否保证字符串文字在内存中相邻存储?
因此,以下必须获得输出hellohello
printf(3 + "%d");
printf("hello");
答案 0 :(得分:10)
不,字符串文字存储在编译器所在的任何地方。您在连续行中声明其中两个的事实是无关紧要的。您不能假设编译器将存储它们的位置。
编译器可以做各种事情。例如,如果您编写以下代码
printf("hello");
printf("hello");
然后编译器完全可以自由创建一个文字。或者不是。