求一个c++程序!怎样采用字符指针,比较两个字符串?
题目输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则输出Unequal。要求使用字符指针。哪位达人帮忙解答下,谢谢了!...
题目
输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则输出Unequal。要求使用字符指针。
哪位达人帮忙解答下,谢谢了! 展开
输入两个字符串,如果两个字符串的字符和长度都相同(认为它们相等),在屏幕上输出“Equal”,否则输出Unequal。要求使用字符指针。
哪位达人帮忙解答下,谢谢了! 展开
展开全部
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
#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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用strcmp不就直接解决了?
还可以用string对象直接==比较。
还可以用string对象直接==比较。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询