【发布时间】:2017-05-12 20:42:11
【问题描述】:
这显示没有输出:
int x = 10;
cout<<"Hello C++ " + x ;
但这确实显示了输出:
int x = 10;
cout<<"Hello C++ ";
cout<<x<<endl;
有什么问题?它们看起来完全一样。
顺便说一句,我在 Visual Studio 2010 上使用 Visual C++ 6.0。
【问题讨论】:
-
欢迎来到 Stack Overflow。请花时间阅读The Tour 并参考Help Center 中的材料,您可以在这里问什么以及如何问。
-
你为什么这样说话?
-
@Mario
"Hello C++ " + x进行指针运算。它产生文字 + 10 的地址。 -
对于因“印刷错误”而投票关闭的每个人,这里的情况有所不同,并且 OP 仅用于默认情况下可以使用
+运算符将字符串与数字连接的语言? -
@SingerOfTheFall:在实践中也使用了密切的原因来表明这个问题是如此基础,而且缺乏基础的初学者研究,以至于它似乎不太可能对未来的读者有实质性的、关于主题的用途. OP“习惯”什么并不重要。这显然不是一个实际的印刷错误,但对于更广泛的编程社区来说几乎同样无关紧要。尽管规范的欺骗会更好。碰巧,我根本没有关闭投票,而是回答了。
标签: c++