01-基础语法/07-输入语句:修订间差异

来自三三百科
跳转到导航 跳转到搜索
->Importer
批量导入三三文档
 
33DAI留言 | 贡献
导入1个版本
 
(未显示2个用户的2个中间版本)
(没有差异)

2026年5月20日 (三) 18:12的最新版本

基础输入 cin

使用 >> 把输入的内容依次读取到变量中。

int a;
cin >> a;

可以连续读取多个变量:

int a, b, c;
cin >> a >> b >> c;

cin 会以空白字符(空格、换行、制表符)作为分隔,自动区分不同的输入内容。

读取一行 getline

当需要读取包含空格的一整行时,使用 getline

string s;
getline(cin, s);

getlinecin 混用的坑

cin >> x; 读完后会在缓冲区留下一个换行符,紧接着的 getline 会读到这个换行符而得到一个空串。

解决方法:在 cin 之后、getline 之前多加一行 cin.ignore(); 吃掉换行符。

int n;
cin >> n;
cin.ignore();      // 吃掉换行符
string s;
getline(cin, s);   // 正确读取一行

读入到文件末尾

有些题目没有告诉你具体有多少个输入,你需要一直读到文件末尾(EOF)。

int x;
while (cin >> x)
{
    // 处理 x
}

cin >> x 作为条件时,读成功返回真,读到文件末尾或读失败返回假。

另一种常见写法:

int a, b;
while (cin >> a >> b)
{
    cout << a + b << "\n";
}

字符输入

char c;
cin >> c; // 会自动跳过空白字符

// 如果希望读入空白字符(如空格、换行)
c = cin.get();