if语句运行出来只有小于号这一种情况
#include <iostream>
#define N 80
using namespace std;
int fun(char*str)
{
int i = 0;
while(str[i] != '\0')
i++;
return(i);
}
void com(char a[N], char b[N])
{
int i = 0;
char*p1=a;
char*p2=b;
while(*(p1+i)==*(p2+i)&&*(p1+i)!='\0'&&*(p2+i)!='\0')
{
i++;
}
if(*(p1+i)>*(p2+i))
{
cout << p1 << ">" << p2 << endl;
}
else if(*(p1+i)<*(p2+i))
{
cout << p1 << "<" << p2 << endl;
}
else
{
cout << p1 << "==" << p2;
}
}
int main()
{
cout << "请输入要计算长度的字符串" << endl;
char a[1000];
cin >> a;
cout << "该字符串的长度为" << fun(a) << endl;
cout << endl << "字符串的比较" << endl;
char c[N];
char d[N];
cout << "请输入需要比较的字符串:" << "(eg: hello (空格) world)" << endl;
cin.getline(c,N);
cin.getline(d,N);
com(c,d);
return 0;
}
结果不管输入什么字符串 都是小于 且位置不对