C语言scanf | 你的角色名是啥?
合集 · 一口气入门C语言 (25)
-
先导片 | 如何只用3小时入门C语言...
2:52
-
在你开始编程之前 | 为什么安装C编译器和VS Code
1:51
-
C语言环境设置 | Windows安装编译器和VS Code
5:40
-
C语言环境设置 | macOS安装编译器和VS Code
2:43
-
C语言的基本结构 | 你必须熟练的让人心疼
6:05
-
C语言printf | 谁是世界上最好看的人
6:42
-
C语言转义符 | 救命!打印不出双引号
4:50
-
C语言变量 | 你的私房钱到底有多少
7:18
-
C语言命名规则 | 什么是好名字
3:02
-
4分钟带你学会二进制
4:10
-
C语言数据类型(上) | 谁点的-1.11杯啤酒
9:19
-
C语言数据类型(下)| 人人都是1米高
6:28
-
C语言数学运算 | 遥遥领先的计算器
8:08
-
C语言常量 | 守护我的每周搬砖时长
4:15
-
C语言注释 | 悄悄在代码里骂用户?
2:22
-
C语言条件语句(上) | 又被流量扣费坑了?
5:58
-
C语言条件语句(中) | 又双叒被流量扣费坑了?
7:39
-
C语言条件语句(下) | 你要去几楼?
8:30
-
C语言逻辑运算符 | 今天会被鸽吗?
4:47
-
C语言scanf | 你的角色名是啥?
7:18
-
C语言while循环 | 硬币啥时候才抛出正面?
7:31
-
C语言for循环 | 你要打印几份?
7:32
-
C语言数组 | 找出体测不合格的脆皮同学
10:01
-
C语言字符串 | 代码世界的糖葫芦串
9:54
-
C语言指针 | 价值$90亿的教训
6:07
Description
打游戏时,界面一般会问你“请输入角色名字:” scanf可以让C程序实现类似的操作
Comments
虽然本期视频讲到了scanf这个函数来获取输入的字符。但是我要说的是,请一定要规定好程序的输入格式,无论是注释上还是文档里,因为控制台(终端,shell)的输入是很原始的,很多数据是需要你自己处理的。尤其是C/C++这种默认编码为ASCII的天然不支持中文。输入中文传进去的只是操作系统的默认字符集下中文对应的字节(更难绷的是为了维持Windows一贯的兼容性,直至最新的win11,系统默认编码依旧是老旧的GBK。如果你想让你的C/C++更支持中文的话就去修改控制台的字符集,或者改全局的也行,缺点是会有乱码) 铺垫了那么多回到scanf这个函数,即便是在控制台输入里也不太推荐使用这个函数,一方面是需要严格规定输入的格式,输不对就导致结果出问题,另一方面是没有边界检查容易越界访问(举个例子,比如a和b挨在一起,你输了一个数据,a装不下,就有可能会装到b里去) 解决方法有很多(如果你用的是vs,它甚至会把scanf函数ban掉,当然你可以用一些方法调回来)比如用循环getchar,fget等。或者C++的std::cin标准输入流。当然,这主要还是C标准库里没有变长数组导致的问题(毕竟有了就你给多少我就吃多少,也就不存在越界访问了,反正都是我的) 最终还是回到那个终极问题,永远不要幻想你的用户不会在咖啡店里点炒饭。
♥ 22 ↩ 11
根据小爱ai的几个方案中能够解决问题的只有一个,如下: 1.打开Windows“语言设置”; 2.点击“管理语言设置”; 3.点击“更改系统区域设置”; 4.勾选“Beta…UTF-8…”,然后重启即可。
♥ 14 ↩ 5
计划什么时候完结啊
♥ 5 ↩ 3
就说我是不是真爱粉吧[妙啊]
♥ 4
有没有大佬知道运行代码后终端出现乱码的问题怎么解决,网上都是说在设置中搜索“terminal.integrated.encoding”把终端编码设置为 "utf-8",但是没有找到,系统是windows 11,vscode版本是1.96.2
♥ 4 ↩ 13
我用scanf函数,在终端总是显示这个问题,然后右下角就显示一个code is already running,怎么办为什么我输入不了
♥ 3 ↩ 4
【完整解决vs code 中文乱码问题-哔哩哔哩】 https://b23.tv/0h0Pww3
♥ 3
老师讲的很好,催更
♥ 3
学习
♥ 3
我跟着别人的教程都学了很久了,还是不知道如何在VSCode软件的终端窗口与程序交互(就是“输入”),到网上也不好找答案。但我知道以后你的教程一定会提到这个。可不?这下终于是让我给盼来了。[笑哭] 我之前每次都是保存之后,去代码的那个文件夹里双击运行那个“Unix可执行文件”。
♥ 3
为什么会这样啊[大哭]
♥ 1
为什么回车之后什么都没有
♥ 1
为啥我的终端不运行这个,改了设置后只在终端运行了,但是终端的中文又全是乱码[蹲蹲][蹲蹲][蹲蹲][蹲蹲]
♥ 1 ↩ 5
实名羡慕up这溢出屏幕的才华[点赞][点赞][点赞],YYDS!快来一键三连吧[热词系列_优雅] 一、使用C语言中的scanf函数实现用户输入变量的值,并详细讲解了该函数的基本语法和使用注意事项。 00:01 - 讲解使用C语言中的scanf函数接收用户输入的内容 00:14 - 通过scanf函数可以在程序运行过程中更新变量的值 02:00 - 使用scanf函数让用户输入多个数据时需要注意取变量地址的顺序和格式的一致性 二、在使用 scanf 函数时,需要注意空白字符会被视为字符,如果不需要空白字符,可以在占位符前面加一个空格。 03:01 - 按回车键会留下一个换行符,导致读取失败 03:41 - 在百分号C占位符前面加个空格,能忽略输入的空白字符 05:37 - 使用skin app函数来获取用户输入,注意占位符和数据类型的对应 三、如何使用占位符和条件语句来提示用户输入信息,并根据用户输入的内容打印出相应的优惠信息。同时,提供了源代码供用户参考。 06:02 - 使用百分号F占位符和逗号来提取变量的地址 06:21 - 使用print打印出输入格式要求作为提示 06:59 - 程序可以根据用户输入的内容进行条件判断并打印出相应的优惠信息 --以上内容由模型基于视频内容生成,仅供参考。视频总结、高能空降欢迎召唤热心市民@AI视频小助理
♥ 1
我的怎么报错了[辣眼睛]
♥ 1 ↩ 4
我觉得up的视频很良心啊,为什么不火
♥ 1 ↩ 1
切记[笑哭] 要判断输入输出方法的返回值 不然流被关了 都不知道 就像我这个图片里的 简易udp客户 端 char*s_gets(char*buffer,int buf_sz); 本来是想从标准输入读取写到buffer 然后发送到网络 s_gets() 内部fgets()因为stdin被关闭读取失败返回了空指针 , 导致 s_gets() 读取失败 我原来是没有判断返回值的 结果导致那一条 " 加入了群聊 " 又发送了一遍到网络 然后下面返回完以后又开始 s_gets() 又失败了 又发送一条 发送到服务端以后 服务端广播到其他客户端 导致服务端和客户端都刷屏 "加入了群聊 "[笑哭]
♥ 1 ↩ 2
真的很感谢你。虽然我这个问题可能在你们看来显得很傻。
♥ 1 ↩ 1
AI课代表总结: 本视频讲解了如何在C语言中使用`scanf()`函数接收并存储用户输入的数据,并介绍了其基本语法及注意事项。 要点: - 📘 `scanf()`函数允许在程序运行过程中动态地从用户处接收输入,无需重新编译即可改变变量值。 - 🔍 使用`scanf()`需包含`stdio.h`头文件;基本语法包括格式字符串(如 `%d`, `%f`, `%c`)和相应变量地址。 - 💻 示例演示了如何利用`scanf()`获取整数、字符等不同类型的输入,以及正确处理输入格式的重要性。 - ⚠️ 提醒注意:当连续读取不同类型的数据时,确保输入格式与`scanf()`中的格式串一致;可通过添加空格忽略多余空白字符。 - 🕹 实践部分展示了在VS Code环境下配置并在实际项目中应用`scanf()`的具体步骤,强调了变量声明和地址操作的关键作用。 --由@伍名伍名 召唤发送,其他AI工具点头像自取
♥ 1
这个怎么解决啊,求大佬
↩ 1