我得到的是下面的 C++ 代码。
#include <iostream>
using namespace std;
int main()
{
char ch;
int ct1, ct2;
ct1 = ct2 = 0;
while ((ch = cin.get()) != '$')
{
cout << ch;
ct1++;
if (ch = '$')
ct2++;
cout << ch;
}
cout << "ct1 = " << ct1 << ", ct2 = " << ct2 << "\n";
system("pause");
return 0;
}
现在你可以知道如果输入会发生什么。
hi$<ENTER>
输出应该是这样的。
hi ct1 = 2, ct2 = 0
但真正的输出是这样的。
h$i$ct1 = 2, ct2 = 2.
为什么输出我不明白,我应该如何解决。
我正在使用适用于 Windows 桌面的 Visual Studio Express 2013 预览版。
最佳答案
首先,这段代码有问题,if(ch = '$'), 其次,我认为真正的输出是“hhct1 = 1,ct2 = 0”,因为当char等于'$'时,可以进入循环。
关于c++ - 不明白为什么这个 std::cout 打印这个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17613737/