C++关系运算符可以用来比较两个字符的大小,.也可以比较字符串大小吗?原因

 我来答
糖二灰
2013-05-28 · TA获得超过3940个赞
知道小有建树答主
回答量:1052
采纳率:75%
帮助的人:1041万
展开全部
楼上说的很正确,字符串在C++中如果你只是定义char *str;或者char str[256]之类的,你去用运算符比较,只能写str1 > str2之类的,但是str1或者str2都只是该字符串的首地址,所以你这样只能比较地址的大小。
但是你可能会写成str1[256]>str2[256],不过只能说对不起了,这样写是错误的。
C++中很多类都能比较大小,但是那是通过运算符的重载来实现的。
比如CString str1="daffd"; CString str2="jkhk";这种,你完全可以用if(str1>str2)来判定,但其实这个运算的实现还是通过指针从首地址的字符一个一个对比的。
花花浪客
推荐于2018-01-04 · TA获得超过2069个赞
知道小有建树答主
回答量:792
采纳率:100%
帮助的人:698万
展开全部
C++里面字符串实际上是char*,所以你这样写:
char *p1, *p2
...
if (p1 > p2)
...
从语法上讲没有问题,编译是可以通过的,但是实际上比较的是指针的大小,并不是字符串的大小。
要比较字符串大小还是要使用c库 strcmp
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式