发布网友 发布时间:2023-10-26 01:25
共5个回答
热心网友 时间:2024-03-16 19:59
C++中两个字符串的大小比较方法如下:
1、首先,定义一个整型变量j,保存判断的结果。
2、接着,定义两个字符串变量,保存判断的字符串。
3、输入两个字符串,保存在变量s1和s2中。
4、比较字符串s1和s2的大小,保存在变量j中。
5、根据判断结果j的值,输出两个字符串的比较结果。
6、用compare函数比较两个字符串,当s1大于s2时返回值大于0,当s1等于s2时返回值等于0,当s1小于s2时返回值小于0。
热心网友 时间:2024-03-16 20:00
会先比较长度,如果长度大那自然就大,
如果长度相等,会去从左到右逐个比较ascii码的大小,
如果相等则比较下一个,直到有结果。
热心网友 时间:2024-03-16 20:00
如果是std::string的话,可以直接用关系符号,例如小于号(<),比较。
如果是传统的C字符串(const char[])的话,和C语言一样,调用strcmp比较,小于返回负数,大于返回正数,等于返回0。
例如
#include <cstring>输出是
abc<def注意无论用哪种方法,顺序规则都是字典规则(lexicographical order)。也就是:
从前往后,逐位比较,第一个不同的字符,按照char的顺序比较(例如字母a小于字母b)
如果第一个字符串是第二个字符串的子列,例如“abc”和“abcde”,则前者小于后者
空字符串小于其它所有字符串
当且仅当字符串长度和每个位置上字符都相同,字符串相等
字典规则示例:
以下程序给字符串排序{ 01, 1, 0, 0000, 10, 100 } 从小到大排序
输出是
0 0000 01 1 10 100注意按照字典规则,0000排在1前面,那个说先看字符串长度的答案纯属误人子弟。
热心网友 时间:2024-03-16 20:01
strcmp(str1,str2);热心网友 时间:2024-03-16 20:02
不是strcmp吗?