利用指针进行字符串的比较
![](https://img-blog.csdnimg.cn/direct/e8ca1cfc635a4cb3affb15cf145c182f.png)
#include<iostream>
using namespace std;
void strCompare(char* str1, char* str2,int t) //字符串比较函数
{
char* p1 = str1; //指针变量p1存放str1数组的首地址,即指向字符串的第一个字符
char* p2 = str2; //指针变量p2存放str2数组的首地址,即指向字符串的第一个字符
int* p=&t; //指针变量p存放t的地址,指向t
while((*p1 != 0 && *p2 != 0)) //当两个字符串都不为结尾符时进入循环
{
if (*p1 == *p2) //当前字符相同时,比较下一个字符
{
p1++; //指针指向后移
p2++;
}
else //当前字符不相同时,进行比较大小,并结束循环
{
t = *p1 - *p2;
break;
}
}
cout << t << endl; //输出第一个不相同处的字符大小比较的结果
}
int main()
{
char str1[255]; //数组用于存放字符串
char str2[255];
int t = 0; //t用于记录比较大小的结果
cin.getline(str1, 255); //从键盘获取字符串(可包含空格)
cin.getline(str2, 255);
strCompare(str1, str2,t); //调用字符串比较函数
}
![](https://img-blog.csdnimg.cn/direct/693fbb86ca704cf69266570030d2224c.png)