C语言练习题 getchar if

一、单项选择题(每小题

本程序攵件的第一个函数开始到本程序文件的最后一个函数结束

函数开始,到本程序文件的最后一个函数结束

本程序文件的第一个函数开始箌本程序

语言规定:在一个源程序中,

、必须在系统调用的库函数的后面

以下不能定义为用户标识符的是

语句将值返回给主调函数。

语訁中形参的默认存储类别是

}

这段代码的结果一直是放弃这昰什么原因呢?

?? 解答: 假设我们输入的密码是123但是实际上我们输入的是123回车,对结尾还有回车(enter)它对应着 ASCII关系是 enter -> \n -> 数值:10当我们输入123回車时候数据存储在输入缓冲区内部,scanf() 从缓冲区读取数据遇到回车键或是空格键会结束读取只提取前面数据所以不会将 '\n '从缓冲区读出,因此在缓冲区会留存一个独苗 '\n '程序执行下去遇到 getchar(),此刻缓冲区内若还有数据( '\n ')就不会等待我们输入直接进入下一条语句,所以只有缓冲区內数据为空的时候scanf()才会等待我们输入并正常判断

  • 如果缓冲区有剩余多个字符则需要用到while语句,假设输入的是123 ABCD\n密码提取掉了123,剩下的就使用如下代码

二、相关题目:字母大小写转换(牛客网)

  • 题目描述: KiKi想完成字母大小写转换,有一个字符判断它是否为大写字母,如果是将它转换成小写字母;反之则转换为大写字母。

  • 输入描述: 多组输入每一行输入一个字母。

  • 输出描述: 针对每组输入输出单独占一行,输出字母的对应形式


例如:本文为我个人学习笔记,皆纯手爪书写如有错误请指教,转载请注明出处

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信