C++里的if语句能否用来判断两个字符串是否相等?

#include <iostream>using namespace std;class store{public:char ID[20];}s[50];class find{public:char d[20]; }f[50];void main(){int i=0,n=5; cin>>s[i].ID; cin>>f[1].d; for(i=0;i<n;i++) { cout<<s[i].ID; if ((s[i].ID) == (f[1].d) ) { cout<<"right"<<endl; } if ((s[i].ID) != (f[1].d) ) { cout<<"不对!"<<endl; } }} 请问这段代码 ``我想验证s[i].ID和 f[1].d 里存的字符串是否相等 可是不管我怎么输入 即使是前后一模一样,它都显示 “不对!”?有没高手会的指点下啊? 是不是不能用 if语句判断那两个是否相等?如果不能,请问要怎么才能判断那两个是否相等?

if(!strcmp(char1,char2))
{
//不等
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-26
判断字符串的相等性最好使用strcmp函数 你一次声明那么多个对象 占用很多内存资源 对于char字符数组 建议使用cin.getline()函数录入
第2个回答  2011-10-27
if(!strcmp(char1,char2))
{ }
//不等
第3个回答  2011-11-03
判断字符串的相等性最好使用strcmp函数 你一次声明那么多个对象 占用很多内存资源 对于char字符数组 建议使用cin.getline()函数录入