C++ c++;检查数据是否相等
我正在编写一个程序,必须检查用户输入的字符是否等于数组中的一个字符。如果不等于任何,则应显示“无效…”。这对我不起作用,谁能解释一下我做错了什么。我每次都会得到无效字符 我有一个字符数组数据[5];可以储存5个字母C++ c++;检查数据是否相等,c++,arrays,if-statement,for-loop,C++,Arrays,If Statement,For Loop,我正在编写一个程序,必须检查用户输入的字符是否等于数组中的一个字符。如果不等于任何,则应显示“无效…”。这对我不起作用,谁能解释一下我做错了什么。我每次都会得到无效字符 我有一个字符数组数据[5];可以储存5个字母 cout<<"Enter one character to delete: "; cin>>del; cout<<del; for(int x=0;x<4;x++) { if(del!=data[x])
cout<<"Enter one character to delete: ";
cin>>del;
cout<<del;
for(int x=0;x<4;x++)
{
if(del!=data[x])
{
cout<<"Invalid, character not entered.\n";
break;
}
}
coutdel;
coutfor(int x=0;xfor(int x=0;x如果您的字符数组是以C样式null结尾的字符串,则可以使用strchr:
#include <cstring>
//...
if (strchr(data, del)) {
// character found
}
else {
// character not found
}
#包括
//...
if(strchr(数据,删除)){
//角色发现
}
否则{
//找不到字符
}
如果您的字符数组是以C样式null结尾的字符串,则可以使用strhr:
#include <cstring>
//...
if (strchr(data, del)) {
// character found
}
else {
// character not found
}
#包括
//...
if(strchr(数据,删除)){
//角色发现
}
否则{
//找不到字符
}
如果del
不等于data[0]
,则break
语句将使您脱离for循环(不尝试x的其他值)。我建议使用std::string
和std::string::find
(和std::string::erase
删除一个)。如果del
不等于data[0]
,break
语句将使您脱离for循环(无需尝试x的其他值)。我建议使用std::string
和std::string::find
(和std::string::erase
删除一个)。