注册 登录
编程论坛 C++教室

关于cout嵌套尖括号的输出问题

莞工学子 发布于 2012-04-19 16:56, 1306 次点击
代码:int a;
 cout<<"b["<<a<<"]"<<endl;
   
   注:为什么<<a<<两边不加引号,编译就不成功。
这个用法是在书上看到了,只知道怎么用,但是怎么会是这样,一点都不懂。
不要笑,矮手就会提这样的问题。
6 回复
#2
flyxkj2012-04-19 22:16
a是整数类型的数字,你如果加引号,就成了字符串了,就直接输出a了!
#3
简体字012012-04-19 22:40
顶楼上。
#4
孽紫然丶2012-04-19 22:43
不是a两边加引号,你的引号是两对,第一对是  "b["  ,第二对是  "]"  。
而a的两边没有引号的。
引号中间的部分代表的是字符串,也就是直接把 b[ 和 ] 输出在编译后的程序中的中。
而a是一个int型,也就是整型的、
在题目中我是这么理解你的问题的、如果还有问题,你再追问好了、
#5
ab10349827492012-04-19 22:58
举个例子吧
cout<<"Hello World!";
这是一个完整的输出,输出的是一个字符串,
int a=0;
cout<<a;
这是输出你定义的整型变量,由于是变量,所以两边不要加双引号("");
两边加双引号的都是字符串常量。
如:int a=0;cout<<a<<"a";
输出结果为:0a;因为a是变量所以输出他的值,又因为"a"是字符串常量所以直接输出a.
还有一个<<只对应一个紧跟其后的数据起作用。
cout<<"a"
    <<"b";
这样写你懂了吧。
#6
蓝xuan2012-04-20 00:18
a是整型的,你如果加引号,就成了输出字符了
#7
pangding2012-04-20 01:31
楼主的疑惑是像 4 楼说的那样吗?
另外我怎么觉得,就是去掉了,也就是输出一个更长的字符串而已。应该也不会编译错误吧?
1