请任何人可以为我解释该代码吗?
#include <iostream>
using namespace std;
int main()
{
int j;
for (int i=0; i<3; i++) {
cin >> j;
cout << j << endl;
}
}
第一种情况
在:
1
2
3
出:
1
2
3
第二种情况
在:
1 2 3
出:
1
2
3
C ++如何理解两种模式?
答案 0 :(得分:1)
输入就是我们所说的基于基于流的。它根本不在看文本行。当寻找int
时,它将寻找数字字符,直到找到不是数字的东西为止。
在第一个示例中,当输入为
1
2
3
在读取每个数字之后,它会找到一个换行符\n
,它不是数字,因此它表示刚刚读取的数字的末尾,并且工作正常。
在第二个示例中,当输入为
1 2 3
在读取每个数字之后,它会找到一个空格字符,该数字不是数字,因此它表示刚刚读取的数字的末尾,并且工作正常。
这很像C ++编译器读取和解析C ++程序的方式。例如,如果将几乎所有程序都塞在一行中,则程序将运行相同的代码:
#include <iostream>
using namespace std; int main() { int j; for (int i=0; i<3; i++) { cin >> j; cout << j << endl; } }
(但是#include
之类的预处理器指令是不同的;它们必须在自己的行上单独存在。)
答案 1 :(得分:-1)
这是一个简单的程序,可从控制台获取输入并进行打印,并在执行前运行3次 cin获取输入并将其存储在j中 cout打印输出并将光标移至换行符 情况1:
1 1个 2 2 3 3 情况2: 123 123