scanf函数
在使用scanf前和printf函数是一样的,也需要加上#include <stdio.h>来调用scanf函数
1:内存寻址由大到小,优先分配内存地址比较大的字节给变量
2:变量越先定义,内存地址就越大
3:取得变量的地址:&变量名
4:输出地址:%p
#include <stdio.h>
int main()
{
//定义一个变量,用来保存用户输入的整数;
int number;
scanf("%d",&number); scanf调入整数同样需要输入%d,&是地址寻址,找number的地址,scanf只接受变量的地址,遇到scanf函数程序会停止等待用户输入,如果不输入会一直卡在scanf这行,用户输入完毕后,就会将用户的赋值给number变量
return 0;
}
习题:提示用户输入2个整数,并计算和。
#include <stdio.h>
int main()
{
第一种方法:分开输入
/*int number1,number2;
printf("请输入第一个整数:\n");
scanf("%d",&number1 );
printf("请输入第二个整数:\n");
scanf("%d",&number2 );*/
第二种方式:输入多个值,一次性输入。
int num1,num2;
scanf("%d,%d",&num1,&num2); 数值之间的分隔符是任意的,不一定非用逗号隔开,可以是空格、星号*、井号#等等,甚至是英文字母
printf("num1 = %d,num2 = %d\n",num1,num2);
int sum = num1 + num2;
printf("%d+%d的和是%d\n",num1,num2,sum);
return 0;
}
用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
用scanf函数接收3个数值,每个数值之间用空格隔开
scanf("%d %d %d", &a, &b, &c);
3个%d之间是用空格隔开的,我们在每输入一个整数后必须输入一个分隔符,分隔符可以是空格、tab、回车