用c++写一个定义函数func(char*p1,char*p2),比较两个字符串的大小,返回值为两个字符串中第一个不相等的字符的差值,并编写主函数验证。
时间: 2024-11-10 14:14:50 浏览: 49
在C++中,你可以定义一个名为`func`的函数,它接受两个指向字符数组的指针`p1`和`p2`。首先,你需要遍历这两个字符串,直到找到第一个不相等的字符。如果它们完全相等,则返回它们的长度差(因为字符串结束于空字符'\0')。下面是函数的实现以及一个简单的主函数示例:
```cpp
#include <iostream>
#include <cstring>
int func(char* p1, char* p2) {
int len1 = strlen(p1);
int len2 = strlen(p2);
// 如果长度不同,直接返回差值
if (len1 != len2)
return len1 - len2;
// 遍历两个字符串,找到第一个不相等的字符
for (size_t i = 0; i < std::min(len1, len2); ++i) {
if (p1[i] != p2[i])
return static_cast<int>(p1[i]) - static_cast<int>(p2[i]);
}
// 如果所有字符都相等,返回0表示它们在相同位置结束
return 0;
}
int main() {
char str1[] = "Hello";
char str2[] = "World";
int result = func(str1, str2);
if (result == 0) {
std::cout << "Strings are equal" << std::endl;
} else {
std::cout << "First unequal character is at position: " << result << std::endl;
}
return 0;
}
```
在这个例子中,`func`函数会比较`str1`和`str2`,并返回第一个不相等字符的ASCII码之差。如果没有不相等的字符,就返回0。
阅读全文