内容概要:
掌握scanf的基本使用方式
1、如何使用C语言从键盘输入数据?
思考:输入和输出总是成对的,既然之前数据的输出是<stdio.h>这个工具包里的printf()工具,那么有没有可能数据的输入在<stdio.h>工具包中也提供了相应的工具呢?(PS:学会用C语言的思维去类比思考相似的问题)
在<stdio.h>中确实存在scanf这样的输入工具,具体介绍如下图:
![]() |
![]() |
注意事项:scanf的第一个参数中不能包含与格式化字符无关的字符(和printf不同之处)
scanf中的格式化字符必须与对应的变量类型一致(否则会出错)。
int i = 0;
printf("i = %d\n", i); // 只有%d是格式化字符,其余都是说明性字符
scanf("%d", &i); // 此处就只有%d一个格式化字符
printf("i = %d\n", i);
2、如何连续地从键盘输入两个数据到不同变量?
思考:类比printf的用法,printf要连续输出两个变量,就在第一个参数里加上两个格式化字符,后续参数一一对应即可。那么scanf是不是也可以通过添加格式化字符来实现连续输入呢?试试就知道了,反正电脑也不会爆炸。
int a, b;
printf("Enter 2 numbers from the keyboard: ");
scanf("%d%d", &a, &b); // 输入: 5 4
printf("%d + %d = %d\n", a, b, a + b); // 打印:5 + 4 = 9
这样的scanf输入方式果然也是支持的。总结的连续输入方法如下图:

本文是狄泰软件学院唐老师系列课程的学习总结,用于个人复习以及与大家探讨学习,如有理解有误的地方恳请大佬们予以指正,十分感谢!