求助:如此结果是咋回事?

昵称是咩呀 2012-05-29 02:30:06
1 #include <iostream>
2 #include <string>
3 using namespace std;
4
5 int main()
6 {
7 string s1,s2;
8 cout << "Enter two strings:" << endl;
9 cin >> s1 >> s2;
10 if(s1==s2)
11 cout << "They are equal!" << endl;
12 else if(s1>s2)
13 cout << "\"" << s1 << "\"is biger than" << "\"" << s2 << "\""
<< endl;
14 else if(s1<s2)
15 cout << "\"" << s2 << "\"is biger than" << "\"" << s1 << "\""
<< endl;
16 }

程序如上,执行的时候:
提示:“Enter two strings:”
输入:“vgcfcfxdzs hghgc”(随机输入)
结果:"vgcfcfxdzs"is biger than"hghgc"---正常
再执行:
提示:“Enter two strings:”
输入:“zsxdcfvgb bhyujhgfvcdxscg”
结果:"zsxdcfvgb"is biger than"bhyujhgfvcdxscg"---反常

不知道怎么回事,求指教,谢谢!!!
...全文
122 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
XUPENGFEIMAIDI 2012-05-29
  • 打赏
  • 举报
回复
是正确的啊
justkk 2012-05-29
  • 打赏
  • 举报
回复
这个不是比较长度,是比较字符串的值

比较长度用s1.length()
昵称是咩呀 2012-05-29
  • 打赏
  • 举报
回复
我知道了,谢谢大家!
昵称是咩呀 2012-05-29
  • 打赏
  • 举报
回复
求问:第二个结果不应该是"bhyujhgfvcdxscg"is biger than"zsxdcfvgb"吗?
C__Allen 2012-05-29
  • 打赏
  • 举报
回复
'z' > 'b'
C__Allen 2012-05-29
  • 打赏
  • 举报
回复
明明是正常啊..
justkk 2012-05-29
  • 打赏
  • 举报
回复
怎么是反常呢,这个是按照字母排序的吧
W170532934 2012-05-29
  • 打赏
  • 举报
回复
楼主还是单步调试下,看看你输入的数据是什么吧。我不敢妄加猜测。机器是不会反常的,只有人反常了。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧