【学习笔记】【C语言】scanf函数
2015-06-01 18:33
429 查看
1. 简介
这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>。调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设备(比如键盘)输入数据,并且将输入的数据赋值给地址对应的变量2. 简单用法
int age;scanf("%d", &age);
scanf函数时,会等待用户的键盘输入,并不会往后执行代码。scanf的第1个参数是"%d",说明要求用户以10进制的形式输入一个整数。
这里要注意,scanf的第2个参数传递的不是age变量,而是age变量的地址&age,&是C语言中的一个地址运算符,可以用来获取变量的地址
输入完毕后,敲一下回车键,目的是告诉scanf函数我们已经输入完毕了,scanf函数会将输入的值赋值给age变量
3. 其他用法
1> 用scanf函数接收3个数值,每个数值之间用中划线-隔开scanf("%d-%d-%d", &a, &b, &c);
3个%d之间是用中划线-隔开的,因此我们在每输入一个整数后都必须加个中划线-,比如这样输入
,不然在给变量赋值的时候会出问题
注意:数值之间的分隔符是任意的,不一定要用中划线-,可以是逗号、空格、星号*、井号#等等,甚至是英文字母
// 逗号,
scanf("%d,%d,%d", &a, &b, &c); // 输入格式:10,14,20
// 井号#
scanf("%d#%d#%d", &a, &b, &c); // 输入格式:10#14#20
// 字母x
scanf("%dx%dx%d", &a, &b, &c); // 输入格式:10x14x20
1> 用scanf函数接收3个数值,每个数值之间用空格隔开
scanf("%d %d %d", &a, &b, &c);
3个%d之间是用空格隔开的,我们在每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车
4. 注意
scanf的第一个参数中不要包含\n,比如scanf(“%d\n”, &a); 这将导致scanf函数无法结束5.课程代码
#include <stdio.h> int main() { // 定义一个变量,用来保存用户输入的整数 int number; // scanf函数只接受变量的地址 // scanf函数是一个阻塞式的函数,等待用户输入 // 用户输入完毕后,就会将用户输入的值赋值给number变量 // 函数调用完毕 scanf("%d", &number); printf("用户输入的值是%d\n", number); return 0; }
/* 提示用户输入两个整数,计算并且输出两个整数的和 */ #include <stdio.h> int main() { // 1.定义2个变量,保存用户输入的整数 int num1, num2; // 2.提示用户输入第1个整数 printf("请输入第1个整数:\n"); // 3.接收用户输入的第1个整数 scanf("%d", &num1); // 4.提示用户输入第2个整数 printf("请输入第2个整数:\n"); // 5.接收用户输入的第2个整数 scanf("%d", &num2); // 6.计算和,并且输出 int sum = num1 + num2; printf("%d+%d=%d\n", num1, num2, sum); //printf("num1=%d, num2=%d\n", num1, num2); return 0; }
相关文章推荐
- C++ 类族的设计
- C++ assert 的一点说明
- C/C++中文件输入输出流的一个示例(使用list容器)
- 从符号表来理解指针和引用
- c语言一维数组做参数传递给函数:
- C++程序设计 - Week 2 类和对象初探
- 01背包问题和完全背包问题
- 【C++总结】运算符重载
- C语言数组赋值一例
- C++ STL中哈希表 hash_map介绍
- C++学习路线
- C语言笔记(五)
- Android新增C/C++语言支持:应用开发更快
- c++回调函数
- C语言笔记(四)
- 【C语言探索之旅】 第三部分第一课:SDL开发游戏之安装SDL
- 【C语言探索之旅】 第三部分第一课:SDL开发游戏之安装SDL
- Go与C语言的互操作
- 斐波那契实现
- 黑马程序员——C语言基础——冒泡排序算法探究