第三章——顺序结构 第三节——数据输入
字符输入函数
- 格式:getchar()
- 功能:从键盘读取一个字符
- 返回值:正常,返回读取的代码值;错误,返回EOF(-1)
格式输入函数
- 格式:scanf(“格式控制串”,地址表)
- 功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并且按回车结束
- 返回值:正常,返回输入项个数
- 地址表:变量的地址,常用取地址运算符&
- 格式字符:d , i , o , x , u , c , s , f , e
附加格式说明符(修饰符)
| 修饰符 | 功能 |
|---|---|
| h | 用于d, o, x前,指定输入为short型整数 |
| l | 用于d, o, x前,指定输入为long型整数 用于e, f前,指定输入为double型实数 |
| m | 指定输入数据宽度,遇空格或不可转换字符则结束 |
| * | 抑制符,指定输入项读入后不赋给变量 |
输入分隔符的指定
- 一般以空格、TAB、回车键作为分隔符
- 其他字符做分隔符:格式串中两个格式符之间插入即可
1 | scanf("%d%d", &a, &b); // 在这种情况下,scanf()会自动跳过空格、TAB、回车键等空白字符的输入,也就是将其当作分隔符 |
说明
- 用 “%c” 格式符时,空格,转义字符均是有效字符输入
- 输入数据时,遇到以下情况默认结束:
- 遇到空格、TAB、回车键、换行符时结束输入
- 遇宽度结束
- 遇非法输入
- 输入函数留下的“无用数据”,即输入数据后,输入缓冲区中剩余的数据,这些数据在输入缓冲区中,直到下次输入时才会被清空。
解决办法:
- 输入缓冲区中的数据清空,使用 fflush(stdin) 函数
- 输入缓冲区中的数据清空,使用 getchar() 函数
- 用格式串中空格或者 “%*c” 来抑制输入
考点
- 熟知各种格式字符的功能
- scanf函数中的输入项必须是“地址量”
- 输入数据时,各个数据见可以用空格符、回车符或者Tab作为输入分隔符
- 除了上述3中所述的分隔符外,还可以指定其他字符作为分隔符,但输入时要输入与之相同的字符
- 对于结束的条件要熟知
- 标题: 第三章——顺序结构 第三节——数据输入
- 作者: 亓翎_Re-Tikara
- 创建于 : 2026-02-07 02:21:28
- 更新于 : 2026-02-10 02:48:46
- 链接: https://re-tikara.fun/Blog/posts/6d92a9d2/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。