c++简单程式一问....

来源:百度知道 编辑:UC知道 时间:2024/07/01 06:05:53
#include <iostream>

int main()
{
using namespace std;

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." < < endl;
return 0;
}

为什麼不是输入一个就输出一个而是输入全部后一并输出??
input: cc h 123 asd\n
output: cc h 123 asd\n
symbol不是只是字符吗??为什麼能够像字符串一样整行输出??
每次输入的值都记录在哪呀??
如果把symbol声明为字符数组会不同吗???

你注意输入以及输出是在一个循环里的,也就是说你先输入了cc h 123 asd\n,循环的第一次读取c,后面的部分都放在了输入暂存区,也就是说循环一次,就从暂存区读一个字符,直到暂存区没有字符或者循环退出。
\n在这里是2个普通字符,并不代表循环判断里的"\n",循环判断symbol !='\n'中的\n是你输入完数据以后敲的那下回车~~~

不会啊,我运行了下,是输入完才输出的啊,你是不是没输入一个都敲个回车啊?