1. char类字符串比较, 我们不使用关系操作符,(比如>,<,=,!=), 而使用strcmp函数. 如果我们要知道字符数组word中的字符串是不是mate,不能用这个语句:word=="mate", 因为数组名是数组的地址, 字符串常量"mate"返回此字符串的地址, 那这句话的意思是比较这两个地址是否相同. 我们使用strcmp函数来比较字符串, 该函数接受两个字符串地址作为参数, 这意味着参数可以是指针,字符串常量或者字符数组名, 因为这些的表现形式都是地址. 例如strcmp(A,B), 如果A=B,那么strcmp函数返回0, 如果字符串A的第一个字符按字符顺序在B的第一个字符前面, 则strcmp返回一个负数值, 反之如果在之后, 则返回一个正数值.
strcmp(A,B)=0, 如果A=B
strcmp(A,B)<0, 如果A的字符顺序在B之前
strcmp(A,B)>0, 如果A的字符顺序在B之后
2. 由于字符串是通过结尾的空字符定义的, 而不是由其所在数组的长度定义的, 这意味着两个字符串即使被存储在长度不同的数组中, 也可能是相同的,例如下面的big和little字符数组如果用strcmp比较是相等的.
char big[80]="happy"; //5个字符加空字符/0
char little[6]="happy"; //5个字符加空字符/0
3. 我们可以用关系操作符来比较字符, 因为字符实际上是整型, 因此可以用来比较字符. 例如下面的代码输出字母表
for(char ch='a';ch<='z';ch++)
cout<<ch;
4. string类字符串比较.可以用关系操作符进行比较(比如>,<,=,!=), 因为string类设计时重载了这些关系操作符, 所以我们能够使用这些关系操作符比较字符串.
5. 代码集合