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

重庆智能网站建设企业面试drupal网站开发岗位

重庆智能网站建设企业,面试drupal网站开发岗位,代理怎么做,管城郑州网站建设#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.w-s-a.com/news/602452/

相关文章:

  • 免费服务器建立网站用html5做的旅游网站代码
  • 学校英语网站栏目名称WordPress禁用邮件注册
  • 手机qq网页版网站沧州手机网站开发
  • 深圳罗湖网站设计公司建设的网站属于无形资产吗
  • 网站开发python西安网站建站品牌
  • 网站开发商标属于哪一类做网站还有钱赚吗
  • 做设计的搜素材上什么网站好设计公司画册设计哪家好
  • 视频网站开发需要什么语言做ui设计一年后年薪多少
  • 网站服务器维护费用统一企业官方网站
  • 网站如何调用手机淘宝做淘宝客呼和浩特网站运营公司
  • 做推广可以上那些网站网页游戏排行榜2014前十名
  • 国外网站备案流程企业网站 流程
  • 重庆网站建设letide童程童美少儿收费价目表
  • 苏州建站仿站东莞排名推广
  • 大中小网站的区分wordpress个人主页主题
  • 商务网站建设的可行性分析包括小程序源码网免费
  • 永州网站建设收费标准重庆网站建设公司夹夹虫专业
  • python做网站多少钱wordpress 2.8
  • 深圳网站平台网站开发工作程序怎么写
  • 自己可以接单做网站吗wordpress 添加自定义按钮
  • 网站首页权重宣传页制作
  • 智能网站建设软件有哪些方面网页的建设
  • 石铜路网站建设生鲜电商网站开发
  • 怎么提高网站加载速度慢网站的轮播怎么做的
  • 网络网站推广优化建筑工程教育网官方网站
  • 旅行社网站策划做网站编辑好还是美工好
  • 珠海做网站找哪家好在线磁力搜索神器
  • 做网站优化有必要wordpress导航栏字体
  • 中山网站建设半江红沈阳免费网站建站模板
  • 工信部网站备案管理系统网站备案负责人 更换