字符串比较
//返回类型为int, 则返回多出的字符的ASCII编码值,比如说a比b首先多出了e,就返回e的ASCII码值101
//返回类型为char,则返回多出的首字符e,和f没关系了。
//返回类型为bool,一样则返回0,不一样返回1.
```cpp
#include<iostream>
#include<string>
using namespace std;
//方法1.逐字符比较:使用循环逐个比较两个字符串中的字符,直到找到不相等的字符或者到达字符串的末尾。可以使用str1[i]和str2[i]来访问字符串的第i个字符。
char compareStrings(const char* str1, const char* str2) {
int i = 0;
while (str1[i] != '\0' && str2[i] != '\0') {
if (str1[i] != str2[i])
{
return (str1[i] - str2[i]);
}
i++;
}
return (str1[i] - str2[i]);
}
//方法2:字符串长度比较:分别计算两个字符串的长度,然后比较长度大小即可。可以使用循环和指针来计算字符串的长度。
//int compareStrings(const char* str1, const char* str2) {
// int len1 = 0;
// int len2 = 0;
// while (str1[len1] != '\0') {
// len1++;
// }
// while (str2[len2] != '\0') {
// len2++;
// }
// return (len1 - len2);
//}
int main()
{
char a[] = "abcdef";
char b[] = "abcd";
cout << compareStrings(a, b) << endl;
}
、、、
//总结:两个方法都有局限性,例如无法处理带有空格或其他特殊字符的字符串。在实际应用中,建议使用标准库提供的字符串处理函数,