社区
C语言
帖子详情
一个简单的问题,望高手帮忙!
cloverplus
2002-09-14 08:03:02
小弟不才,发现一个奇怪的问题,不能自解,希望各位高手能帮忙.
VC++中的 '***' 代表什么??
如:
cout<<'1234'<<endl;//并未出错,出现一个奇怪的号码.
...全文
49
16
打赏
收藏
一个简单的问题,望高手帮忙!
小弟不才,发现一个奇怪的问题,不能自解,希望各位高手能帮忙. VC++中的 '***' 代表什么?? 如: cout<<'1234'<<endl;//并未出错,出现一个奇怪的号码.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cloverplus
2002-09-14
打赏
举报
回复
谢谢alexxing(赤铸)兄讲的这么详细.我明白了!!
alexxing
2002-09-14
打赏
举报
回复
'1234' 不是错误的,是整数的另一种表示方法而已
普通编译器(如BC),只支持2个字符
NB 编译器(如WATCOM C),可以支持4个字符
VC 可能不支持 4 个字符,但应该支持 2 个字符
试试 cout << '12' ?
'1' = 0x31
'2' = 0x32
'3' = 0x33
'4' = 0x34
'12' = 0x3231
'1234' = 0x34333231 = 875770417
(或者 0x31323334 = 825373492)
edward0716
2002-09-14
打赏
举报
回复
出现这个可能性多数是:格式不对."***"可能是机器产生的随机数作为字符的ASCII码, 从而产生溢出, 因此输出为"***"等乱字符.
我的建议:如果你要输出字符串的话你必须得用双引号, 否则会出错.
一般单个字符可用单引号, 也可以用双引号.
另外,编译器也不能排除它的可能性,不过这只有百分之零点几的可能.其实,你上面的问题只要将单引号改为双引号就可以了.
以上只是我个人体会,如有不对,请您指正.多谢!
wzgtly
2002-09-14
打赏
举报
回复
如果编译器都不能通过,就有语法错误,对于一个错误的问题,你可以问他为什么错了,但不要把错误的强制成正确,甚至还要给出什么理由.
'1234'是错误的,它毫无意义!!!!
dsangvei
2002-09-14
打赏
举报
回复
我在BC3.1下不能编译:
cout <<'1234' <<endl;
error : charactor constant must be one or two char long
仅能用:
cout << '12' <<endl; //12849 ->hex :3231 -> '21'
但我在WATCOM C++ 10.6 下运行通过,输出为: 4 .
看来各个编译器对这种语法的检查都不一样。
netbian
2002-09-14
打赏
举报
回复
jone7318说的对
kwok_1980
2002-09-14
打赏
举报
回复
'1234'是825373492这样一个数,如果是'12345',你想想是多少???
还能表示吗? 一个constant可以这样大吗(int)?
jone7318
2002-09-14
打赏
举报
回复
‘’只能代表单个字符,其中只能放1到2个字符,在C++中用‘1234’,编译器无法解释所以输出***
cloverplus
2002-09-14
打赏
举报
回复
原来的程序是这样的:
#include <iostream>
using namespace std;
int main(void)
{
cout<<'1234'<<endl;
return 1;
}
结果是825373492,我只是不明白为什么会是这个数呢????
还有如果超过4个的话,编译器就显示出错,停止编译了!!!我试了很多遍都不行啊!!
kwok_1980
2002-09-14
打赏
举报
回复
***是指任意多个字符.(但是不超过四个)
>>怎么不会超过四个!?????
>>而且不是任意的!是固定的!不信,你自己试试吧!
kwok_1980
2002-09-14
打赏
举报
回复
是这个数的ASCII码!
#include <iostream>
using namespace std;
int main()
{
int a = '1234';
cout<< '1234' <<' '<< a <<endl;
return 0;
}
cloverplus
2002-09-14
打赏
举报
回复
***是指任意多个字符.(但是不超过四个)
请大家先编译一下再说好不好!
你们也一定会奇怪的!!!
cloverplus
2002-09-14
打赏
举报
回复
我不是想输出1234这几个字符,我只是想弄明白'1234'到底代表什么?
如果想输出1234,"1234"就可以了啊!
netbian
2002-09-14
打赏
举报
回复
""表示字符串
''表示字符
***什么意思也没有
cloverplus
2002-09-14
打赏
举报
回复
真的是因为'1234'我才不明白啊!!
如果我连单引号表示单个字符都不知,那我自杀好了!!!
不信你用vc编译一下,绝对无错!
Coder 青田
2002-09-14
打赏
举报
回复
'1234',这是什么???单引号一般只表示一个字符而已。如果你想输出1234的话 应该用双引号才对!cout<<"1234"<<endl;
关于我发布的帖子“关联文件
问题
”的测试数据
这个资源是关于我发布的帖子“C++中关联文件的操作
问题
,望
高手
帮忙
!“中的测试数据。希望各位
高手
能帮助我解决这个
问题
,多谢各位了!!! 资源中的文件名与帖子中的文件名相同。
数学问提(c语初学者)
今天看到的题目: 海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了
一个
,这只猴子就把多的
一个
扔到了海里!,拿走了一份,第二只猴子把剩下的桃子又平均...望
高手
帮
帮忙
! 发现还有点小难~!
IT行业项目经理常见面试
问题
讲解一
【课程亮点】: 本门课程是《IT行业项目经理常见面试
问题
讲解一》,后续讲师会发布《IT行业项目经理常见面试
问题
讲解二》,通过复现常见的、真实的面试题,分享实用的应答技巧,助力大家提高IT行业软件项目经理面试...
关于C#索引超出了数组界限的
问题
??
当此程序调试后点击下拉菜单选项时就会提示索引超出了数组界限,但我找了半天也没有找出错误,请
高手
帮忙
。本人初学,望
帮忙
修改一下!不胜感激!
停车场收费管理系统
我自己做的 ~~技术不行~~~插入数据有点
问题
望
高手
帮忙
加工~~
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章