#include <iostream>
using namespace std;
int main() {
char word[10]="php";
char word1[10]="php";
if(word==word1){
cout<<"word = word1"<<endl;
}
return 0;
}
我不知道如何比较两个char字符串以检查它们是否相等。我目前的代码无效。
答案 0 :(得分:8)
使用strcmp。
#include <cstring>
// ...
if(std::strcmp(word, wordl) == 0) {
// ...
}
答案 1 :(得分:7)
改为使用std::string
个对象:
#include <iostream>
#include <string>
using namespace std;
int main() {
string word="php";
string word1="php";
if(word==word1){
cout<<"word = word1"<<endl;
}
return 0;
}
答案 2 :(得分:5)
为证明c ++标记的合理性,您可能希望将word
和word1
声明为std::string
。要比较它们,你需要
if(!strcmp(word,word1)) {
答案 3 :(得分:2)
提交的代码中的word和word1是指针。所以当你编码时:
word==word1
你正在比较两个内存地址(不是你想要的),而不是它们指向的c字符串。
答案 4 :(得分:-1)
#include <iostream>
**#include <string>** //You need this lib too
using namespace std;
int main()
{
char word[10]="php";
char word1[10]="php";
**if(strcmp(word,word1)==0)** *//if you want to validate if they are the same string*
cout<<"word = word1"<<endl;
*//or*
**if(strcmp(word,word1)!=0)** *//if you want to validate if they're different*
cout<<"word != word1"<<endl;
return 0;``
}