求一个c++程序!怎样采用字符指针,比较两个字符串?
发布网友
发布时间:2023-07-16 11:28
我来回答
共5个回答
热心网友
时间:2024-11-06 23:30
#include <iostream>
#include <string>
using namespace std;
bool isEqual(const char *c1, const char *c2)
{
while(*c1 && *c2 && (*c1++ == *c2++));
if(*c1=='\0' && *c2=='\0') return true;
return false;
}
int main(int argc, char *argv[])
{
string str1, str2;
cout<<"input 2 strings:";
cin>>str1>>str2;
if(isEqual(str1.c_str(), str2.c_str())) cout<<"Equal"<<endl;
else cout<<"Unequal"<<endl;
return 0;
}
热心网友
时间:2024-11-06 23:31
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
int main(void )
{int i;
char a[81],b[81];/* 设定每个字符串不超过80字节,可更改 */
printf("Please input two strings one by one:\n");
gets(a);
gets(b);
if(strcmp(a,b)==0)
printf("Equal\n");
else
printf("Unequal\n");
getch();
return 0;
}
热心网友
时间:2024-11-06 23:31
#include <iostream>
using namespace std;
const int buff_size = 100;
int main(){
char str1[buff_size];
char str2[buff_size];
cin >> str1 >> str2;
char *s1 = str1, *s2 = str2;
for(; *s1 == *s2 && *s1 != '\0'; ++s1, ++s2);
if(*s1 == *s2)
cout << "equal" << endl;
else
cout << "Unequal" << endl;
}
热心网友
时间:2024-11-06 23:32
#include<iostream>
using namespace std;
void main()
{
char str1[20],str2[20],*st1=str1,*st2=str2;
cout<<"输入两个字符串,以空格隔开:"<<endl;
cin>>str1>>str2;
while (*st1 && *st2 && *st1++ == *st2++);
if (*st1 == *st2)
{
cout<<"Equal"<<endl;
}
else cout<<"Unequal"<<endl;
}
热心网友
时间:2024-11-06 23:32
用strcmp不就直接解决了?
还可以用string对象直接==比较。