c++中的字符串可以不用函数直接比较大小吗?

if ("abc" < "abd") cout << "Hello“ << endl; 好像这样可以哦。
2025-06-28 14:41:46
推荐回答(5个)
回答1:

C++中字符串分两种,一种是C语言的字符串,一种是string字符串。

C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。

 

具体细节:

  1. C语言的字符串的实质是一个字符数组中存储的字符序列,如果直接比较大小相当于比较了两个字符串的首地址的大小,毫无意义。

  2. C语言的字符串需要通过strcmp函数进行比较大小。

  3. C++添加的string字符串是一个类,该类对运算符>、<和==进行了重载,能够直接比较两个字符串的大小。

  4. 建议在C++中尽量使用string字符串,简单,且不容易出错。

回答2:

在C++中,这种比较实质上是地址的比较,而非字符串的比较
字符串的比较
可以使用strcmp函数
如果你用的是string串变量,就能直接用< 这个是运算符重载技术

回答3:

C++中的字符串可以不用函数直接比较大小

回答4:

可以

回答5:

strcmp

原型:extern int strcmp(char *s1,char * s2);

用法:#include

功能:比较字符串s1和s2。

说明:
当s1 当s1=s2时,返回值=0
当s1>s2时,返回值>0

举例:

// strcmp.c

#include
#include

main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;

clrscr();

r=strcmp(s1,s2);
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");

getchar();
return 0;
}