c++中的字符串可以不用函数直接比较大小吗?
答案:5 悬赏:0 手机版
解决时间 2021-11-23 14:36
- 提问者网友:niaiwoma
- 2021-11-23 06:39
c++中的字符串可以不用函数直接比较大小吗?
最佳答案
- 五星知识达人网友:思契十里
- 2021-11-23 07:40
C++中字符串分两种,一种是C语言的字符串,一种是string字符串。
C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。
具体细节:
C语言字符串是不可以直接比较大小的,string是可以直接比较大小的。
具体细节:
- C语言的字符串的实质是一个字符数组中存储的字符序列,如果直接比较大小相当于比较了两个字符串的首地址的大小,毫无意义。
C语言的字符串需要通过strcmp函数进行比较大小。
C++添加的string字符串是一个类,该类对运算符>、<和==进行了重载,能够直接比较两个字符串的大小。
建议在C++中尽量使用string字符串,简单,且不容易出错。
全部回答
- 1楼网友:逐風
- 2021-11-23 11:12
在C++中,这种比较实质上是地址的比较,而非字符串的比较
字符串的比较
可以使用strcmp函数
如果你用的是string串变量,就能直接用< 这个是运算符重载技术
字符串的比较
可以使用strcmp函数
如果你用的是string串变量,就能直接用< 这个是运算符重载技术
- 2楼网友:第四晚心情
- 2021-11-23 10:51
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;
}
原型:extern int strcmp(char *s1,char * s2);
用法:#include
功能:比较字符串s1和s2。
说明:
当s1
当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;
}
参考资料:http://zhwen.org/tools/clib/string/strcmp.html
- 3楼网友:掌灯师
- 2021-11-23 10:09
可以
- 4楼网友:街头电车
- 2021-11-23 08:49
C++中的字符串可以不用函数直接比较大小
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯