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

上海网站建设要多少钱做网站不想用微软雅黑了

上海网站建设要多少钱,做网站不想用微软雅黑了,七牛云配置wordpress,佛山网站建设怎么做前言: b站鹏哥视频,来源以下链接 76. 【C语言初阶】操作符_作业讲解_哔哩哔哩_bilibili 目的: 记录视频里面没有理解的相关知识 疑惑的地方: 对c语言的那个,\n不是特别了解,就是输入了一个字符&#x…

前言:
b站鹏哥视频,来源以下链接

76. 【C语言初阶】操作符_作业讲解_哔哩哔哩_bilibili

目的:

记录视频里面没有理解的相关知识

疑惑的地方:

对c语言的那个,\n不是特别了解,就是输入了一个字符,后面接一个\n,所以对这个具体了解

为啥会输入*号

内容:

题目:BC-48 字母大小写转换

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

最先就是说    

while (scanf("%c", &ch) == 1)

scanf("%c", &ch)是有返回值的,就是输入一个数,返回为1,错误的数,返回EOF(-1)

真正的问题来了

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{char ch = 0;while (scanf("%c", &ch) == 1){if (ch >='a' && ch <='z')printf("%c\n", ch - 32);elseprintf("%c\n", ch + 32);}return 0;
}

就是说为啥输出上段代码,会显示*,

但是根据评论区的回答,我应该是了解了一点,就是\n+32就是*

但是我的问题是啥呢?

就是说我对讲的不是特别明白,为啥加了一个getchar();就能处理\n

为啥我进去了if循环,我还能进else循环?

为啥会有这个疑问?

因为if,else语句,这两个只能进去一个的,进去了if语句,就不能再进去else语句

解释

我刚刚好像想起来一件事情,就是说

scanf语句,输入一个字母a,他在ch变量中存的实际是这个值, 我之前好像听老师讲缓冲区好像讲过,不知道是不是这个

a\n

然后就进行判断,就先取出ch的变量中的字母a,进行判断,是符合第一个条件,然后输出大写字母a

while (scanf("%c", &ch) == 1){if (ch >='a' && ch <='z')printf("%c\n", ch - 32);elseprintf("%c\n", ch + 32);}

这时候if,else语句就结束了,就不会在执行if语句了,他是怎么输出*号的呢?

也就是说,他需要循环第二次,才会执行*号

这时候就得请出我们的ai师傅了,调节几次,终于返回我想要的答案,但是我还是不太理解

一起看看ai师傅的回答

点击链接查看和 Kimi 智能助手的对话 https://kimi.moonshot.cn/share/cv2pkk4qdqeultlfb70g

简要


关于你的问题:
你提到的“按下换行符,不是会向 ch 变量存储 a\n 吗?”实际上,scanf("%c", &ch) 是逐个读取字符的,不会将 a 和 \n 一起存储到 ch 中。每次循环只读取一个字符,因此:
第一次循环读取 a。
第二次循环读取 \n。
总结:
你的理解是正确的,scanf("%c", &ch) 会逐个读取输入流中的字符,包括换行符。因此,程序的输出确实是:

还是不太理解,鹏哥之前的课程好像详细讲到了缓冲区的问题,我给搞忘求了,这个涉及缓冲区的问题,

	while (scanf("%c", &ch) == 1)

问题为啥会只读取一个字符?

ok,根据ai的回答,我差不多理解了,就是说

因为我输入的是%c,这个就是只能从缓冲区读取一个字符,所有的内容都会暂存在缓冲区里的

scanf就是一次只在缓冲区拿一个字符(因为我写的是%c,如果我输入的是%s,他会一次性读取全部的字符)
点击链接查看和 Kimi 智能助手的对话 https://kimi.moonshot.cn/share/cv2ppmlf8r37f8m6cnng

又有新的问题,如果我从缓冲区拿完全部的字符,那是不是scanf的返回值就是二

而不是1,因为他拿了两个字符,a和\n

测试

实际效果是没有输出这个,哎占卜讨论这个,之前的知识已经解决了

算了还是讨论下吧,都到这里了

解释

%s值提取字符串,但是\n不是一个有效的字符串,然后就返回0,程序就停止

这里值得注意的是%s只会读取\n或空白符之前的字符,也就是说第一次还是只读取了a,第二次读取\n返回0,程序终止

关于%s的用法

  1. 下一次循环

    • 由于换行符 \n 仍然在输入缓冲区中,下一次 scanf("%s", &ch) 会读取 \n

    • 由于 \n 不是有效字符,scanf 会返回 0,循环结束。

关于%c的用法

scanf("%c", &ch)的工作方式

scanf函数用于从输入流中读取数据。格式化字符串"%c"表示从输入流中读取一个字符。每次调用scanf("%c", &ch)时,它会从输入缓冲区中取出下一个字符并存储到变量ch中。

http://www.dtcms.com/wzjs/786120.html

相关文章:

  • 建站市场分析小程序开发报价明细
  • 资阳网站网站建设如何自己开网站
  • 如何做网站百度排名优化长沙如何做百度的网站
  • 中小企业建网站多少钱app 微信 网站三合一
  • 强化网站建设和管理wordpress分页条目
  • 淘宝销售书网站建设方案上海市公共招聘网官网
  • 广西省住房和城乡建设厅官方网站app免费下载安装
  • 品牌网站定制开发wordpress卡车主题
  • 找人做网站应该注意哪些网站建设设计广州
  • 手机微信网站怎么做的六安城市网
  • 网站建站报价表科汛 kesioncms v8.05 企业网站建设入门视频教程
  • 泰兴住房和城乡建设厅网站网站建设课程报告论文
  • 洛阳有建社网站的吗智慧校园平台
  • 北京公司网站制作要多少钱门户网站模版
  • 保定 网站建设网站策划书背景介绍
  • 东莞seo外包平台昆明高端seo怎么做
  • 网站建设工作室怎么开网站项目建设措施
  • 学校网站开发协议建网站 需要签署协议
  • 网站哪家好北京三快在线科技有限公司
  • 如何选定目标关键词及网站栏目名称的确定wordpress图片自动添加alt
  • 网站开发实例教程实训心得关联词有哪些三年级
  • 网站源码换模板课工场网站建设培训
  • 兼职做问卷调查的网站好太仓建设网站
  • 代做淘宝客网站小说网站如何赚钱
  • 怎么建设公司小程序网站网站建设从入门到精通
  • 站酷网海报素材图片网站建设收费标准好么
  • 烟台专业做网站公司购物网站开发费用
  • 做软件工资高还是网站昆明新闻最新消息今天
  • 官方网站后台怎样做超链接阿里云可以网站备案吗
  • 国外做免费的视频网站成都注册公司核名网站