C++ strcmp从‘;char’;至‘;常量字符*’;
我对strcmp有点问题 这是我的密码C++ strcmp从‘;char’;至‘;常量字符*’;,c++,char,strcmp,C++,Char,Strcmp,我对strcmp有点问题 这是我的密码 while (strcmp("m",wood) !=0 || strcmp("j",wood) !=0 || strcmp("o",wood) !=0){ cout << "(m for mahogany, o for oak, or p for pine): "; cin >> wood; } wood的类型为char:它必须是字符串,即char*,才能在strcmp()中使用 改为: while ('m' != woo
while (strcmp("m",wood) !=0 || strcmp("j",wood) !=0 || strcmp("o",wood) !=0){
cout << "(m for mahogany, o for oak, or p for pine): ";
cin >> wood;
}
wood
的类型为char
:它必须是字符串,即char*
,才能在strcmp()中使用
改为:
while ('m' != wood && 'j' != wood && 'o' != wood)
错误显示第二个参数有问题。它应该是常量字符*
strcmp的签名为:
int strcmp(常量字符*str1,常量字符*str2)
如果您想比较两个字符
只需使用=
或=
,如果要比较两个字符串(char*
),请使用strcmp
。将单个字符与字符串进行比较是没有任何意义的,这似乎是您正在做的。wood的数据类型是什么。?这个答案是正确的,@Daniel D C,再加上我在Q下的评论,以便更好地理解。@Danield C我想再看看答案:)谢谢大家!感谢您的快速响应!字符比较仅使用“==”和带有单个字符的包含“'”
while ('m' != wood && 'j' != wood && 'o' != wood)