C本学习笔记scanf
一个、scanf功能介绍
这也是在stdio.h中声明的一个函数。因此使用前必须增加#include<stdio.h>。
调用scanf函数时,须要传入变量的地址作为參数,scanf函数会等待标准输入设备(比方键盘)输入数据,而且将输入的数据赋值给地址相应的变量。
函数原型为:int scanf(const char*format,...);
二、scanf使用方法
#import <stdio.h> int main() { int age; // 接收输入的值赋给age age2 scanf("%d", &age); printf("age=%d\n", age); return 0; }
这里从键盘接收一个整形数存放到变量age中。当接收多个数时,能够这样用:
#import <stdio.h> int main() { int age; // 接收输入的值赋给age age2 scanf("%d", &age); printf("age=%d\n", age); return 0; }
这里要注意的是,在输入时能够输入一个数回车后再输入一个数。也能够输入一个数空格再输入还有一个数回车。可是假设是这种又不一样。
scanf("%d,%d", &age, &age2);
scanf中的两个格式化參数是用逗号隔开的,全部同一时候输入两个数就要用逗号分隔而不再是空格,你可能注意到规律了。scanf中格式化參数是用什么分隔的在输入数时。要一次回车输入的话就要用什么分隔。
对字符的使用方法也相同适用。
char a; scanf("%c",&a); printf("a=%c", a);
接收一个字符,存放到字符变量a中,同一时候输入多个字符也适用上面的使用方法。
三、字符串的接收
从键盘输入的字符串放到指定数组中例如以下:
// 字符串数组 char str[10]; // 接收字符串 scanf("%s", str);
注意:这里的的str不用加取地址符。数组名代表着地址。当输入字符串时不能有空格,否则会出现下图结果。 看看以下的你或许就明确了:
scanf在两个參数中间是空格分隔的,遇到第一个空格就返回把空格前面的字符串存放到str中,再把空格后面的字符串存放到str2中。
第二句和第一句的格式化參数不同,什么意思呢?%[^\n]表示的是除了\n符外。接收全部字符,也就是函数遇到回车才返回 ^是取反的意思。相同输入 i love oc! 结果例如以下: 版权声明:本文博客原创文章。博客,未经同意,不得转载。
能够看到,空格和空格以后的字符串都不会被接收,由于scanf函数在遇到空格或回车时会返回。
// 字符串数组
char str[10];
char str2[10];
// 接收字符串
scanf("%s %s", str, str2);
printf("%s\n%s", str, str2);
那么按小桥的说法是不是用scanf接收字符串就不能包括空格了呢?可是有时一个字符串中确实有空格。答案是否定的,由于scanf的高级功能能够解决问题。
四、%[]格式控制符
scanf的%[]格式控制符可以控制函数什么时候返回。如:
scanf("%s", str); // 接收的字符串中没有空格
scanf("%[^\n]", str2); // 接收包括空格的字符串
很多其它 %[] 信息。读者可以找到自己的信息
相关文章
- 操作系统概念学习笔记 6 系统调用
- Vue笔记:Vue3配置axios跨域
- 机器学习笔记(三)---- 逻辑回归(二分类)
- 机器学习笔记(一)----基本概念
- 《Go学习笔记 . 雨痕》类型
- Effective C++笔记(六):继承与面向对象设计
- java学习笔记7--抽象类与抽象方法
- Python学习笔记之常用函数及说明
- Scala学习笔记
- 【kindle笔记】之 《浪潮之巅》- 2018-1-
- 机器学习笔记 - 使用机器学习进行鸟类物种分类
- SAP Spartacus pagefold学习笔记
- Javascript 学习 笔记五
- Datazen笔记索引
- React学习笔记(一)
- 【docker】Docker快速入门总结笔记(命令大全)
- 【学习笔记】稳定扩散模型(Stable Diffusion)—— 最流行的 AI 绘画大模型,了解一下:输入的内容可以是图像,文本,部分图像,以及他们的组合——直接出图!
- 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式
- 我的学习笔记_Windows_HOOK编程 2009-12-03 11:19
- Nodejs学习笔记(三)——一张图看懂Nodejs建站
- Nodejs学习笔记-1
- 《语义网基础教程》学习笔记(二)
- python学习笔记(六)文件夹遍历,异常处理
- 2022年,总结了一份4000字Selenium 学习笔记
- CC2540开发板学习笔记(七)—— 睡眠唤醒
- 信号完整性(SI)电源完整性(PI)学习笔记(四)电阻的物理基础
- 测试开发之Vue学习笔记-Vue基础