在我的C++代码中,我试图按字面意义读取\和/字符,但是\被读取为与/相同。
我的代码是这样的:
int x, y;
char orient;
cin >> N >> goalA >> goalB;
for (int i = 0; i < N; i++)
{
cin >> x >> y >> orient;
xVal [i] = x;
yVal [i] = y;
if (orient = '/')
{
orientVal [i] = 1;
}
else
{
orientVal [i] = 2;
}
cout << orientVal[i];
}
但是,即使当orient ='\'时,我还是得到orientVal [i] = 1而不是2。如何解决这个问题?谢谢。
最佳答案
用=
完成分配,用==
完成相等
所以说
if (orient = '/')
应该
if (orient == '/')
无论
orient
包含什么内容,第一条语句始终计算为true。因为在C / C++中,非零值是True。您的作业使陈述简单if ('/')
这不过是什么
if (true)
关于c++ - 用C++逐字读取反斜杠字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14300697/