strcmp函数只能对字符指针(变化的地址)或数组名(固定的地址)进行比较asc2码
来源:互联网 发布:互联网大数据分析 编辑:程序博客网 时间:2024/06/05 03:19
很不错的网址:http://www.cplusplus.com/
1、strcmp函数的功能是比较str1和str2这两个字符串的大小,规则是从左往右比较两个字符串对应位置的ASC2码值的大小,两个对应位上的字符不相同时,或者遇到字符串结束符(\0),则返回结果。
当str1<str2时,返回负数;当str1=str2时,返回0;当str1>str2时,返回正数。
2、以下做法是错误的,因为strcmp的参数必须是char *类型的,而a,a[0]不是指针类型的。
string a("abc");string b("cnbvb");strcmp(a,b); //错误strcmp(a[0],b[0]); //错误正确的做法如下,必须先将string类型的对象a,b用c_str()方法转化为字符串。
//姓名排序#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;struct man{string name;};bool cmp(man a,man b){return strcmp(a.name.c_str(),b.name.c_str())<0;}int main(){int m;//测试用例数cin>>m;int n;//人数while(m--){man ma[10];cin>>n;for(int i=0;i<n;i++){cin>>ma[i].name;}sort(ma,ma+n,cmp);for(int j=0;j<n;j++){cout<<ma[j].name;cout<<endl;}}return 0;}也可以避开这一点:
//姓名排序#include<iostream>#include<cstdio>#include<string>#include<algorithm>#include<cstring>using namespace std;struct man{char name[20];};bool cmp(man a,man b){return strcmp(a.name,b.name)<0;}int main(){int m;//测试用例数cin>>m;int n;//人数while(m--){man ma[10];cin>>n;for(int i=0;i<n;i++){scanf("%s",&ma[i].name);}sort(ma,ma+n,cmp);for(int j=0;j<n;j++){printf("%s",ma[j].name);cout<<endl;}}return 0;}3、新知识:string的begin()方法返回的是其对象的第一个元素的指针,end()方法是返回其对象的最后一个元素的指针。
string s="agree";sort(s.begin(),s.end());
0 0
- strcmp函数只能对字符指针(变化的地址)或数组名(固定的地址)进行比较asc2码
- 数组的地址(指针)
- 指针、数组名、地址的区别
- 数组名和数组名取地址、指针数组和数组指针的区别
- 数组名与数组名的地址
- 数组名与数组名的地址
- 字符、地址详解(及字符串指针、字符数组关系)
- 关于对数组名取地址的问题
- 对数组名取地址得到的是什么?
- 指针的地址和数组的地址
- 【c语言】编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间
- 指针 数组 数组名和数组名取地址的区别
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- C语言深度剖析之—指针与内存地址(函数指针,普通指针,指针数组,数组的指针,指针的指针)
- 数组名、指针和地址
- 函数名、数组名实际上是地址与地址的真正区别
- 指针 指向一维数组 二维数组 字符数组 返回值为地址 指向函数的指针 指针数组 常量指针
- HDU 3183 A Magic Lamp
- VC 程序自杀
- 八卦一下模型验证(一) (转自g9老大的八卦系列)
- HDU 2072 单词数
- Mac中PhoneGap的安装与使用测试
- strcmp函数只能对字符指针(变化的地址)或数组名(固定的地址)进行比较asc2码
- 【Uinx高级环境变成】1.open函数
- kmp+dp+matrix bzoj1009
- 图的深度遍历
- 唐僧给孙悟空的信 谁编的?太有才了!!更现实---大学生必备网转载
- 装饰模式和代理模式
- 八卦一下模型检验(二) (转自g9老大的博文)
- 最大子段和
- 排序算法汇总