这显示没有输出:
int x = 10;
cout<<"Hello C++ " + x ;
但这确实显示了输出:
int x = 10;
cout<<"Hello C++ ";
cout<<x<<endl;
问题是什么?它们看起来完全一样。
顺便说一句,我在 Visual Studio 2010 上使用 Visual C++ 6.0 。
因为这不是如何使用流或字符串。
The +
运算符用于:
- 将两个数字相加,或者
- 连接两个
std::string
在一起。
这里有一个字符串文字和一个数字。这+
运算符与这些不兼容。
(你实际上最终做的是“添加”10
指向表示字符串文字的指针;碰巧,因为您的字符串有十个字符长,所以指针恰好位于字符串文字的 NULL 终止符所在的位置,所以这就像尝试打印""
.)
正如您通过第二个示例发现的那样,正确的方法是使用流的<<
再次操作员。
cout << "Hello C++ " << x;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)