当前位置: 首页 > news >正文

有没有专门做素食的美食网站汽车配件外贸网站

有没有专门做素食的美食网站,汽车配件外贸网站,移动端网站如何做导出功能吗,郑州网站推广多少钱#x1f680; 作者#xff1a;阿辉不一般 #x1f680; 你说呢#xff1a;不服输的你#xff0c;他们拿什么赢 #x1f680; 专栏#xff1a;爱上C语言 #x1f680;作图工具#xff1a;draw.io(免费开源的作图网站) 如果觉得文章对你有帮助的话#xff0c;还请点赞… 作者阿辉不一般 你说呢不服输的你他们拿什么赢 专栏爱上C语言 作图工具draw.io(免费开源的作图网站) 如果觉得文章对你有帮助的话还请点赞关注收藏支持博主如有不足还请指点博主及时改正感谢大家支持 文章目录 前言输入缓冲区scanf()函数gets()函数getchar()函数✈️清空输入缓冲区 前言 大家好啊今天阿辉将为大家介绍C语言中scanf、gets以及getchar关于字符串的输入关注阿辉不迷路哦 内容干货满满接下来就跟着阿辉一起学习吧 输入缓冲区 输入缓冲区是计算机系统中用于存储输入数据的一种缓冲区 怎么理解他呢比如我们C语言中的scanf以及今天阿辉要介绍的函数他们并非直接读取我们在键盘上敲的数据而是我们敲的数据先存在缓冲区内然后scanf从缓冲区里面读取的 注意 上面的图只是简单的描述输入缓冲区就像你的饭卡你往里面充钱一次可能充100块但是scanf这顿饭可能就只读12块 阿辉今天要讲的就是scanf、gets、getchar以及fgets在缓冲区中是如何读取的 输入缓冲区的数据一旦被读取就不再输入缓冲区了 scanf()函数 scanf()相信大家都不陌生他就是通过占位符从标准输入流中格式化的读取数据然后把数据存储在参数所指向的位置 1.标准输入流默认是键盘输入 2.参数就是地址例如a这样 我们来看一个栗子 #includestdio.hint main() {int a 0;int b 0;scanf(%d%d, a, b);printf(a %d b %d\n, a, b);scanf(%d%d, a, b);printf(a %d b %d\n, a, b);return 0; }注意只要scanf不是使用%c读取数据时数据前面的空白字符(空格、制表符以及换行)都会被忽略 好吧以上都不是重点重点是对于字符串的读取 上星期一道牛客OJ题给阿辉整的汗流浃背(点击可跳转) 题目 输入描述: 输入一个字符串可以有空格输出描述: 输出逆序的字符串示例1 输入 I am a student 输出 tneduts a ma I关于这道题的代码 #include stdio.h #include string.hvoid reverse(char *p, int sz) {int i 0;int j sz - 1;for (i 0, j sz - 1; i sz / 2; i, j--) {char tmp *(p i);*(p i) *(p j);*(p j) tmp;} }int main() {char arr[10000] {0};int i 0;scanf(%[^\n]%*c,arr);int sz strlen(arr);reverse(arr, sz);printf(%s, arr);return 0; }孤陋寡闻的阿辉只会用scanf用%s读而%s遇到空格换行制表符就会停止读取用%c读换行\n都给我读来了我靠真的汗流浃背了阿辉急忙翻题解我丢这题解真是让人两眼放光gets还有scanf的高级用法 scanf读字符串的神仙用法: scanf可以通过字符集的方式读取字符scanf(%[a-z],str)a-z指的是只读取a到z之间的小写字母遇到非范围内的字符停止读取当然你也可以用[A-Z]只读大写字母范围自定义scanf(%[ ^\n ],str)^\n指的是只读取非\n的字符包括制表符和空格遇到换行停止读取当然你也可以^\t都是是自定义的scanf(%*c,str)*指的是对于一个字符类型的数据只读取但不存储给任何变量就是把这个数据从输入缓冲区去掉这一个操作也可以%*d也是自定义的 栗子 int main() {char str1[10] { 0 };char str2[10] { 0 };scanf(%[a-z], str1);scanf(%[^\n], str2);printf(%s\n, str1);printf(%s, str2);return 0; }输入 abcd1换行 输出 abcd --第一行 1 --第二行因为第一个scanf只读取a-z之间的数据读到1停止读取而1后面还有一个换行1和换行都还在输入缓冲区内因为第二个scanf读到换行就会停止读取因为输入缓冲区有换行了你连键盘输入的机会都没有了这里\n还留在输入缓冲区 这里我们对输入缓冲区的理解应该更加清晰了scanf从缓冲区读取数据输入缓冲区有适合的数据就不需要你输入了就像你饭卡有钱就不用充钱了 如果我们这么写 int main() {char str1[10] { 0 };char str2[10] { 0 };scanf(%[a-z]%*d%*c, str1);scanf(%[^\n]%*c, str2);printf(%s\n, str1);printf(%s, str2);return 0; }输入 abcd1换行 ab123换行 输出 abcd --第一行 ab123 --第二行这里第一个scanf里面的%*d%*c将1和换行\n给读取了但并未赋给任何变量我的理解就是把输入缓冲区一个有符号数和一个字符给删掉然后到第二个scanf的时候输入缓冲区就没数据了得我们自己输入 gets()函数 gets这个函数并不会检查输入的长度可能导致缓冲区溢出并不建议大家使用可能出bug不过gets这个函数还是很猛的。 用法 char *gets(char *str); str指向字符数组的指针 返回值读取成功为str读取错误为EOFgets(str)只能读取字符包括空格和制表符直到遇到换行符或者文件结束符停止读取然后将\n从输入缓冲区删除相当于scanf(%[ ^\n ]%*c,str) getchar()函数 getchar()从键盘获取一个字符返回值也是这个字符无参数直到用户按下回车键或输入的字符达到了缓冲区的最大长度停止读取一次只读取一个字符包括空格、换行和制表符相当于scanf(%c,c) ✈️清空输入缓冲区 利用getchar()我们可以写一个清空输入缓冲区的函数 void clearbuffer(void) {while (getchar() ! \n){;} }int main() {char str1[10];char str2[10];scanf(%s, str1);clearbuffer();scanf(%s, str2);printf(str1 %s\n, str1);printf(str2 %s\n, str2);return 0; }输入输出 1234\n都被clearbuffer这个函数读取了从输入缓冲区清除了 这里while判断的条件是getchar ! ‘\n’getchar读取到哪个字符它的返回值就是哪个字符所以这里我们这样来清空缓冲区是连带\n一起清理掉的当getchar()吸收了’\n’则getchar() ‘\n’ 不满足条件就退出while循环了 到这里阿辉今天对于C语言中的scanf、gets以及getchar分享就结束了希望这篇博客能让大家有所收获, 如果觉得阿辉写得不错的话记得给个赞呗你们的支持是我创作的最大动力
http://www.zqtcl.cn/news/284907/

相关文章:

  • 有ip地址如何做网站苏州门户网站建设
  • 菏泽北京网站建设邯郸做移动网站费用
  • 国外的平面设计网站施工企业介绍
  • 做网站市场价织梦模板自适应
  • xx单位网站建设方案设计精美的网站
  • 唐山市政建设总公司网站工商营业执照查询官网
  • 深圳建站模板建站网站介绍怎么写
  • 网站建设管理教程视频教程如何建一个电商平台
  • 深圳网络公司做网站wordpress怎么编辑网站
  • 淄博建站网络公司wordpress ldap外部登录认证
  • 南宁网站开发浏览器有哪几种
  • 石家庄哪里能制作网站网站301跳转
  • 网站建设报价浩森宇特wordpress怎样修改字体
  • 网站建设预估费用做品牌推广用什么网站
  • 网站建设风险评估西部数码 空间做2个网站
  • 专业购物网站建设wordpress the7不显示分类页
  • 移动应用开发网站建设网站时的故障分类
  • 网站动态静态软件项目管理案例教程第四版
  • 贵州萝岗seo整站优化鲜花店网站建设的总结
  • 下载做网站的软件建网站做站在
  • 无锡高端网站建设公司WordPress臃肿主题
  • 网站建设与运营财务预算seo下拉优化
  • 重庆铜梁网站建设价格阜城网站建设价格
  • 怎样建置换平台网站公众号开发周期
  • 朝阳建设网站什么是网络设计方案网络设计的原则有哪些
  • 长春商城网站制作二级网站建设 知乎
  • 网站建设的结论沭阳县建设局网站
  • 镇江网站制作价格网络有限公司简介
  • 海淀网站建设哪家公司好wordpress非常卡
  • 门户网站的建设意义交互设计专业就业前景