写一个函数,实现两个字符串的比较。即自己写一个stringCompared函数,函数原型为:int stringCompared(char * p1,char * p2);,设p1指向字符串s1,p2指向字符串s2。要求当s1==s2时,返回值为0,当s1!=s2时,返回他们两者第一个不同的字符的ASCII码差值,如果s1>s2,则输出一个正值,如果s1<s2,则输出一个负值。
时间: 2024-02-06 13:11:09 浏览: 16
好的,我来为您编写这个函数:
```c
int stringCompared(char *p1, char *p2) {
int i = 0;
while (*(p1 + i) != '\0' || *(p2 + i) != '\0') {
if (*(p1 + i) != *(p2 + i)) {
return *(p1 + i) - *(p2 + i);
}
i++;
}
return 0;
}
```
这个函数通过循环遍历两个字符串,如果有字符不同就返回它们的ASCII码差值,如果遍历完整个字符串都没有不同的字符,则返回0表示它们相等。
相关问题
C语言:写一个函数,实现两个字符串的比较。即自己写一个stringCompared函数,函数原型为:int stringCompared(char * p1,char * p2);,设p1指向字符串s1,p2指向字符串s2。要求当s1==s2时,返回值为0,当s1!=s2时,返回他们两者第一个不同的字符的ASCII码差值,如果s1>s2,则输出一个正值,如果s1<s2,则输出一个负值。
下面是实现stringCompared函数的代码:
```c
int stringCompared(char *p1, char *p2) {
int i = 0;
while (*(p1 + i) == *(p2 + i)) {
if (*(p1 + i) == '\0') {
return 0;
}
i++;
}
return *(p1 + i) - *(p2 + i);
}
```
该函数通过循环比较两个字符串中的字符,当遇到不同的字符时,返回它们的ASCII码差值,如果循环结束时两个字符串完全相等,则返回0。
写一个函数,实现两个字符串的比较。即自己写一个stringcompared函数,函数原型为:int stringcompared(char * p1,char * p2);,设p1指向字符串s1,p2指向字符串s2。要求当s1==s2时,返回值为0,当s1!=s2时,返回他们两者第一个不同的字符的ascii码差值,如果s1>s2,则输出一个正值,如果s1<s2,则输出一个负值。
这道题目要求写一个函数实现两个字符串的比较。具体实现方式是给定函数原型:int stringcompared(char *p1, char *p2),其中p1指向字符串s1,p2指向字符串s2。当s1等于s2时,返回0;当s1不等于s2时,返回它们第一个不同的字符的ASCII码差值,如果s1>s2,则返回正值,如果s1<s2,则返回负值。
阅读全文