c++ 神来救救我吧
编程,从键盘输入2个字符串,用函数调用的方法比较两个字符串是否相同(不能用库函数strcmp()),并输出比较结果。要求函数形参用指针变量。...
编程,从键盘输入2个字符串,用函数调用的方法比较两个字符串是否相同 (不能用库函数strcmp() ),并输出比较结果。要求函数形参用指针变量。
展开
展开全部
#include<iostream>
#include<string>
using namespace std;
//单纯比较字符串是否相同,相等反回1,否则返回0
int cmp(char *s1, char *s2) {//两个指针分别指向字符串的首地址
for(int i = 0; s1[i] || s2[i]; i ++) {//当两个字符串都是结尾的时候结束比较
if(s1[i] != s2[i]) return 0;
}
return 1;
}
//字符串s1<s2反回-1,相等反回0,大于返回1
int mystrcmp(char *s1, char *s2) {//两个指针分别指向字符串的首地址
for(int i = 0; s1[i] || s2[i]; i ++) {//当两个字符串都是结尾的时候结束比较
if(s1[i] < s2[i]) return -1;
if(s1[i] > s2[i]) return 1;
}
return 0;
}
int main()
{
char a[100], b[100];
while(cin >> a >> b) {
printf("%d %d %d\n", cmp(a, b), mystrcmp(a, b), strcmp(a, b));//与strcmp功能的函数的比较
}
}
这样可以吧
#include<string>
using namespace std;
//单纯比较字符串是否相同,相等反回1,否则返回0
int cmp(char *s1, char *s2) {//两个指针分别指向字符串的首地址
for(int i = 0; s1[i] || s2[i]; i ++) {//当两个字符串都是结尾的时候结束比较
if(s1[i] != s2[i]) return 0;
}
return 1;
}
//字符串s1<s2反回-1,相等反回0,大于返回1
int mystrcmp(char *s1, char *s2) {//两个指针分别指向字符串的首地址
for(int i = 0; s1[i] || s2[i]; i ++) {//当两个字符串都是结尾的时候结束比较
if(s1[i] < s2[i]) return -1;
if(s1[i] > s2[i]) return 1;
}
return 0;
}
int main()
{
char a[100], b[100];
while(cin >> a >> b) {
printf("%d %d %d\n", cmp(a, b), mystrcmp(a, b), strcmp(a, b));//与strcmp功能的函数的比较
}
}
这样可以吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询