1、条件语句
1. a>b?a:b
#include
int main()
{
int a=2,b=3;
printf("%d",a>b?a:b); //输出结果是3
return 0
}
如果a>b则输出a,反之输出b
2、数组
数组元素作为函数参数
1.数组元素作为函数实参
数组元素可以作为函数实参,不能作为函数形参,因为形参实在函数被调用的时候临时分配存储单元的,不可能作为一个数组元素单独分配存储单元。
例:输入5个数,求出最大值
#include
int main()
{
int a[5], i, max;
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
for (i = 0; i < 4; i++)
max = a[i] > a[i + 1] ? a[i]:a[i + 1];
printf("The max number is %d\n", max);
return 0;
}
2.数组名做函数参数
除了数组元素可以做函数参数外,数组名也可以做函数参数(包括实参和形参);注意:用数组元素做实参是,向形参变量传递的是数组元素的值,而用数组名作为函数实参的时候,向形参(数组名或指针变量)传递的是数组首元素的地址
例:求数组a[3] = { 1.1,2.2,3.3 }和数组b[5] = { 1.1,2.2,3.3,4.4,5.5 }的平均值。
#include
int main()
{
float avg(float array[], int n);
float a[3] = { 1.1,2.2,3.3 }, b[5] = { 1.1,2.2,3.3,4.4,5.5 };
printf("%7.2f", avg(a, 3));
printf("%7.2f", avg(b, 5));
system("pause");
return 0;
}
float avg(float array[], int n)
{
int i;
float sum = 0;
for (i = 0; i < n; i++)
sum += array[i];
return sum / n;
}
注:
①这里 printf("%7.2f", avg(a, 3)) ;
里面用的是数组名a,而不是用数组a[3];
②形参数组可以不指定大小,在定义素组时后面跟一个方括号'[ ]';
③第3行 float avg(float array[], int n);
为函数的声明,如果定义的函数在main函数后面就要声明,否则就把定义的函数写在main函数前面,防止出错。