【发布时间】:2013-12-20 12:54:33
【问题描述】:
我对编程很陌生,我编写的代码让我感到困惑。你能解释一下以下错误吗?
int getBill(char seat)// a return function.
{
int b=0;
char FS, fs, LBS, lbs, UBS, ubs, GPS, gps;
char seat;
if(seat=="FS"||seat=="fs")
b=15000;
if(seat=="LBS"||seat=="lbs")
b=10000;
if(seat=="UBS"||seat=="ubs")
b=5000;
if(seat=="GPS"||seat=="gps")
b=1500;
return b;
}
错误:操作数类型不兼容(char 和 const char)
【问题讨论】:
-
您正在尝试将单个字符与字符串进行比较。而且你已经两次声明了同一个变量。
-
而且你的大部分变量都没有初始化。
-
char 是单个字符。如果您想要多个字符,请使用一个数组(作为指向您的函数的指针传递)。使用 strcmp() 比较字符串, == 不会做你期望它做的事情。此外,您不必为函数中使用的字符串文字声明变量 (
FS, fs, ...)。 -
哦。好吧好吧。我认为使用 == 仍然会和 strcmp 一样。我会试试的。谢谢!
-
@GuntramBlohm:这是 C++。对字符串使用
std::string。