以下は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プレビューを使用しています。