查看“︁01-基础语法/07-输入语句”︁的源代码
←
01-基础语法/07-输入语句
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
=== 基础输入 <code>cin</code> === 使用 <code>>></code> 把输入的内容依次读取到变量中。 <syntaxhighlight lang="cpp"> int a; cin >> a; </syntaxhighlight> 可以连续读取多个变量: <syntaxhighlight lang="cpp"> int a, b, c; cin >> a >> b >> c; </syntaxhighlight> <code>cin</code> 会以'''空白字符'''(空格、换行、制表符)作为分隔,自动区分不同的输入内容。 === 读取一行 <code>getline</code> === 当需要读取包含空格的一整行时,使用 <code>getline</code>: <syntaxhighlight lang="cpp"> string s; getline(cin, s); </syntaxhighlight> ==== <code>getline</code> 与 <code>cin</code> 混用的坑 ==== <code>cin >> x;</code> 读完后会在缓冲区留下一个换行符,紧接着的 <code>getline</code> 会读到这个换行符而得到一个空串。 解决方法:在 <code>cin</code> 之后、<code>getline</code> 之前多加一行 <code>cin.ignore();</code> 吃掉换行符。 <syntaxhighlight lang="cpp"> int n; cin >> n; cin.ignore(); // 吃掉换行符 string s; getline(cin, s); // 正确读取一行 </syntaxhighlight> === 读入到文件末尾 === 有些题目没有告诉你具体有多少个输入,你需要一直读到文件末尾(EOF)。 <syntaxhighlight lang="cpp"> int x; while (cin >> x) { // 处理 x } </syntaxhighlight> <code>cin >> x</code> 作为条件时,读成功返回真,读到文件末尾或读失败返回假。 另一种常见写法: <syntaxhighlight lang="cpp"> int a, b; while (cin >> a >> b) { cout << a + b << "\n"; } </syntaxhighlight> === 字符输入 === <syntaxhighlight lang="cpp"> char c; cin >> c; // 会自动跳过空白字符 // 如果希望读入空白字符(如空格、换行) c = cin.get(); </syntaxhighlight> [[Category:基础语法]] [[Category:三三文档]]
返回
01-基础语法/07-输入语句
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息