scanf和 printf这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数都由以下两部分组成:
1) 格式控制串:格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型。
2) 参数表:参数表中给出了输入或输出的变量。当有多个变量时,用英文逗号(,)分开 例如:
printf("I have %d %s",num,thing);
%d用来输出十进制的数
%s用来输出一个字符串
%c用来输出一个字符
%f用来输出实数(包括单、双精度),以小数形式输出
scanf("%d %s",&num,&thing);
%d %s为格式字符,表示将输入的数据分别以整数、字符串形式赋值给变量num,thing
其中的空格为分隔符
变量num,thing都有一个'&'符号,表示取地址
例【1】
#include<stdio.h> // 包含stdio.h头文件
int max(int, int); // 函数声明
int main(){
int a, b, n; // 声明两个整型变量
printf("Input two integers: "); // 以空格为分隔
// 以'|'为分隔符,将输入的两个整数分别赋值给a, b
scanf("%d|%d", &a, &b);
// 以整数形式输出a、b和最大值,a, b, max(a,b)为参数列表
n = max(a, b);
printf("The max between %d and %d is %d.\n", a, b, n);
return 0;
}
// 函数定义
int max(int num1, int num2){ // num1, num2为形式参数(形参)
if(num1>num2){ // 如果num1大于num2
return num1; // 返回num1并结束max函数
}else{ // 如果num2大于num1
return num2; // 返回num2并结束max函数
}
}
运行结果:
Input two integers: 12 | 34
The max between 12 and 34 is 34.