1.变量名,变量值和变量地址
我们声明一个变量,编译器就分配给一个地址。变量名,变量值和变量地址的关系如下图所示:

2. scanf ()从键盘输入数据储存于变量地址
我们从键盘输入的都是文本,因为键盘只能生成文本字符:字符,数字和标点符号。如果要输入整数 2014,就要键入2,0,1,4.
如果要将其存储为数值而不是字符串,程序就必须要把字符依次转换成数值,这就是 scanf( ) 要做的。
scanf() 把输入的字符串转换成整数,浮点数,字符和字符串,而 printf( ) 正好与之相反,把整数,浮点数,字符,字符串转换成显示在屏幕上的文本。
scanf() 与 printf() 类似,也要使用 格式字符串 和 参数列表。scanf() 中的格式字符串表明字符输入流的目标数据类型。
两个函数的主要区别在于参数列表中。printf() 函数使用变量,常量和表达式,而 scanf( ) 函数使用指向变量的指针。
语法:
1 |
scanf("format string", argument_list); |
这里不需要了解指针,只需要记住一下简单的两条:
用 scanf 读取
- 基本变量类型的值,在变量名前加上一个
&
- 把字符串读入数组中,不要使用
&
下面的程序演示了这两条规则:
例1. 输入三个整数并输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> int main() { int check; int a, b; // printf("Please input three number, separate them using space button:\n"); // Input two variables scanf("%d%d%n", &a, &b, &check); // Print value of a, b, and check printf("%d\n%d\n%d", a, b, check); return 0; } |
结果
1 2 3 4 5 |
Please input three number, separate them using space button: 10 20 5 10 20 5 |
例2. 程序打印出输入数字的立方体
1 2 3 4 5 6 7 8 |
#include<stdio.h> int main(){ int number; printf("enter a number:"); scanf("%d", &number); printf("cube of number is:%d ", number*number*number); return 0; } |
结果
1 2 |
enter a number:9 cube of number is:729 |
例3 用C语言输入和输出的简单示例,该示例显示两个数字的加法运算
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include<stdio.h> int main(){ int x=0, y=0, result=0; printf("enter first number:"); scanf("%d", &x); printf("enter second number:"); scanf("%d", &y); result=x+y; printf("sum of 2 numbers:%d ", result); return 0; } |
结果
1 2 3 |
enter first number:5 enter second number:6 sum of 2 numbers:11 |
初学者在使用 scanf 时,在应该写 & 的时候容易忽略 & ,所以每次使用 scanf 的时候一定要格外小心。通常情况下,必要的地方缺少 & 会让程序崩溃(编译器没有警告),但是也有时候程序并不会崩溃,这时候找 bug 可能会让你头痛。
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!