社区
新手乐园
帖子详情
问一段简单的C++代码
dingar
2007-04-14 12:26:43
#include <iostream>
using namespace std;
int main(){
cout << "b" << endl;
cout << L"b" << endl;
cout << L'b' << endl;
return 0;
}
用G++编译
b
0x8048880
98
请解释,谢谢
...全文
450
11
打赏
收藏
问一段简单的C++代码
#include using namespace std; int main(){ cout << "b" << endl; cout << L"b" << endl; cout << L'b' << endl; return 0; } 用G++编译 b 0x8048880 98 请解释,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dingar
2007-04-15
打赏
举报
回复
那L是什么意思,运算符??
dingar
2007-04-15
打赏
举报
回复
非常感谢,明白了
lzp729
2007-04-15
打赏
举报
回复
忘记给出解释了...
要注意一点,实际上在编译器编译的时候,由双引号包含起来的字串是被简单的看作是一个指针而已,只是这个指针指向的一段内存区域是以\000为结束条件的,那么如果程序中指定的类型与流对象的operator重载版本相适应时,就会想内存这个指针所指向的内存通过ASCII翻译成相应字符。如:
cout << "abc"; \\ abc 默认为单字节串,且与cout对象的输出函数相匹配,于是得到输出结果为abc
cout << L"abc"; \\ abc默认为双字节串,于是cout函数认为L"abc"仅仅是一个地址而已,于是会输出这个变量的地址
wcout << "abc" \\ abc默认为单字节串,但是wcout可认为是一个向下兼容cout的,于是也可以得到正确数输出,即"abc"
对于单引号,实际上,可以认为单引号''为取ASCII运算符,他的作用就是或者这个字符的ASCII的十进制值,这就是为什么会有'b'+2 == 100的原因
cout << 'b'; \\ b默认为单字节字符,且与......................,于是得到.......b
cout << L'b'; \\ b默认为.........,于是............................整数...,于是.............,即98;
wcout << L'b'; \\ .............................................................
省略号的位置你能回答上 你就学懂拉 :)
lzp729
2007-04-15
打赏
举报
回复
注意cout对象不包含对于宽字符的operator<<的重载,这样做的后果是不确定的,具体要看编译器对IO的实现。
应该使用cout的宽字符版本wcout
dannyliuy
2007-04-14
打赏
举报
回复
"e"表示字符串 'e'表示ASCII码
myullian
2007-04-14
打赏
举报
回复
第2个是字符串的地址
第3个是ASCI码值
dingar
2007-04-14
打赏
举报
回复
#include <iostream>
using namespace std;
int main(){
cout << "b" << endl;
cout << L"b" << endl;
cout << L'b' << endl;
cout <<&"b" << endl;
cout <<(int)'b' << endl;
return 0;
}
输出结果
b
0x80488c0
98
0x80488bc
98
plo说的是后验,我也看得出来。呵呵……问题这个在手册里有没有。授人以鱼,不如授人以渔。我想要渔
plo2168424
2007-04-14
打赏
举报
回复
第3个是ASCI码中的位子
plo2168424
2007-04-14
打赏
举报
回复
第2个是地址哈~
fandouC
2007-04-14
打赏
举报
回复
我以前没遇到过这样的问题
但我觉得第一个是输出一个字符串的形式; 第三个应该是将b字符用长整形数输出;猜想第二个就是将字符串用长整形输出 .
我也不清楚,不知道对不哦..
hellox
2007-04-14
打赏
举报
回复
#include <iostream>
using namespace std;
int main(){
cout << "b" << endl;
cout <<&"b" << endl;
cout <<(int)'b' << endl;
return 0;
}
简单
的
C++
代码
练习
自己做的一点
C++
小练习,很多
代码
非常简陋
C++
基础
代码
大全
C++
基础语言大全
最
简单
的
C++
程序
第一个
C++
程序 输出一行字符:“This is
C++
program.”。 #include &amp;amp;amp;amp;amp;lt;iostream&amp;amp;amp;amp;amp;gt; using namespace std; int main() {cout&amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;quot;Thi
C++
代码
中如何折叠
代码
C++
代码
中如何折叠
代码
一段
有趣的
C++
代码
,只要3秒猜出你的生日!
现如今,AI攻占了医学、金融、服务甚至是文艺一个个领域。从人脸识别验票、取快递到无人银行,从临床手术机器手到机器人参加人类文学大赛。今天小编带你们实现
一段
有趣的
C++
代码
,只要五次选择猜出你的生日! 下面是小编整理好的一套C/
C++
资料,加小编C/
C++
学习群825414254获取系统性学习C/
C++
的学习资料
代码
如下: 运行结果:
简单
分析一下: 一个月最多31天, 而 2^5-1 =...
新手乐园
33,319
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章