我从Walter Savitch Absolute C++书籍中直接看到了以下示例。它是有效的(正如人们期望的那样,像沃尔特萨维奇这样的学者)。不过,我很困惑,为什么我会在代码引用后解释:do/while循环中的执行顺序
cout << "Enter a line of input and I will echo it:\n";
char symbol;
do
{
cin.get(symbol);
cout << symbol;
} while (symbol != '\n');
cout << "That's all for this demonstration.\n";
可能的输出如下所示:
Enter a line of input and I will echo it:
Do Be Do 1 2 34
Do Be Do 1 2 34
That's all for this demonstration.
我的问题如下。在循环过程中,cin.get(symbol)会一次找到一个字符,然后cout会输出这个字符。然后,如果我的输入不是'\ n'字符,它将第二次进入循环,依此类推,直到最后输入等于'\ n'。
但是,在执行代码时,所有输入似乎都被立即读取,然后立即复制回来。如果每个输入字符都需要检查以等于'\ n',怎么会发生这种情况?
最后一点,可能是明显的:这个问题并不涉及代码,它是某种方式不是语法的。我对编译和/或执行上述简单代码期间发生的事情感到困惑。
希望有人能帮助我!
谢谢。
谢谢!这说明了:) – Svalbard 2013-05-05 23:05:46