写一函数,实现两个字符串的比较。要求不可调用strcmp函数
时间: 2024-05-11 13:16:04 浏览: 112
好的,我会为您编写一段实现两个字符串比较的函数,不调用strcmp函数。以下是代码:
```c
int compareStrings(char *str1, char *str2) {
int i = 0, flag = 0;
while (str1[i] != '\0' && str2[i] != '\0') {
if (str1[i] != str2[i]) {
flag = 1;
break;
}
i++;
}
if (flag == 0 && str1[i] == '\0' && str2[i] == '\0')
return 0;
else
return -1;
}
```
该函数采用了逐个比较字符串中每个字符的方法来确定是否相等。如果发现有不同的字符,则将flag标志为1,表示两个字符串不匹配。如果两个字符串都结束了,则视为匹配。如果出现不匹配,则返回-1,否则返回0。
相关问题
用C++写一函数,实现两个字符串的比较。要求不可调用strcmp函数,而是自己去实现。函数原型为 int strcmp(char *p1,*p2);设p1指向字符串s1,p2指向字符串s2。,当s1=s2时,返回值为0,否则,返回它们二者第一个不同字符的ASCII码差值,如果s1>s2,则输出正值,如果s1<s2,则输出负值。
好的,我来给出一个C++实现的`strcmp`函数。基本思路是逐个比较两个字符串中对应位置的字符,如果出现不同的字符,则返回这两个字符的ASCII码差值。如果其中一个字符串比另一个短,则在短字符串结尾处补0进行比较。如果两个字符串完全相同,则返回0。以下是代码示例:
```C++
int strcmp(char *p1, char *p2) {
while (*p1 && (*p1 == *p2)) {
p1++;
p2++;
}
return *p1 - *p2;
}
```
其中`while`循环中的条件`*p1 && (*p1 == *p2)`表示只要两个字符串中对应位置的字符相同且`*p1`不为0(即字符串没有结束),就继续比较下一位。最后返回`*p1 - *p2`的值,即两个字符串第一个不同字符的ASCII码差值。
需要注意的是,如果输入的两个字符串长度不同,则要在短字符串结尾处补0,否则会出现不可预测的结果。另外,为了避免函数名与标准库中的`strcmp`函数冲突,我们可以将函数名改为`my_strcmp`等。
希望对你有所帮助!
编写一个程序,用一个函数实现两个字符串的比较,即自己写一个strcmp函数 输入:输入两字符串 输出:输出最大的那个字符串 例如: 输入: abc abd 输出: abd
好的,我可以帮你写一个自定义的strcmp函数,实现比较两个字符串的功能。
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入字符串1:");
String str1 = sc.next();
System.out.print("请输入字符串2:");
String str2 = sc.next();
String max_str = my_strcmp(str1, str2);
System.out.println("最大的字符串是:" + max_str);
}
public static String my_strcmp(String str1, String str2) {
if (str1.equals(str2)) {
return str1;
}
for (int i = 0; i < Math.min(str1.length(), str2.length()); i++) {
if (str1.charAt(i) > str2.charAt(i)) {
return str1;
} else if (str1.charAt(i) < str2.charAt(i)) {
return str2;
}
}
return str1.length() > str2.length() ? str1 : str2;
}
}
```
以上是一个简单的自定义strcmp函数,实现了比较两个字符串的大小,并返回最大的那个字符串。你可以把这段代码复制到你的Java编辑器中,然后调用该函数进行测试,例如:
输入示例:
```
请输入字符串1:abc
请输入字符串2:abd
```
输出示例:
```
最大的字符串是:abd
```
阅读全文