社区
C语言
帖子详情
一个简单的问题,望高手帮忙!
cloverplus
2002-09-14 08:03:02
小弟不才,发现一个奇怪的问题,不能自解,希望各位高手能帮忙.
VC++中的 '***' 代表什么??
如:
cout<<'1234'<<endl;//并未出错,出现一个奇怪的号码.
...全文
84
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;
一个
简单
的PHP算法
问题
!
本文介绍了
一个
用于动态显示不同时间购买人数的PHP实现方案,通过随机数生成递增的购买人数和时间戳,确保每次显示的人数都比前一次多,且代码可复用。
一个
简单
但值得深思的
问题
!
通过一道数学题目探讨了解题思路的重要性,指出在编程解决
问题
前应当先进行逻辑思考。
问
一个
简单
的编程作业
问题
!
博主自称菜鸟,遇到编程报错
问题
,报错项为“Count: 找不到标识符”,希望得到大佬的指教。
居然被难到了!就
一个
简单
的取字节
问题
博客展示了一段C#代码,包含ExtractInteger方法用于从字节数组提取整数,在Main方法中调用该方法处理字节数组获取utcTime。但实际结果与预期不符,作者怀疑是移位溢出
问题
,即便调试显示val为64位,仍未找到原因。
~~把我搞晕了!
一个
简单
的C#语法
问题
博主在使用C#编写
简单
Web投票系统柱图时,遇到计算百分比的
问题
。最初用int类型相除结果总为0,查看SDK后发现整型相除会舍入小数部分,改用Decimal类型解决
问题
,同时强调遇到
问题
应借助SDK。
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章