指针:任意输入三个实数,打印其最大值,最小值,平均值,要求用函数及指针作函数实参,指针变量作形参#include #include void main(void) { \x05int (*p)[2]; \x05int a[]={2,4,6,8,10,12}; \x05int i,j; \x05p=(int(*)[2])a; \

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 09:34:44
指针:任意输入三个实数,打印其最大值,最小值,平均值,要求用函数及指针作函数实参,指针变量作形参#include #include void main(void) { \x05int (*p)[2]; \x05int a[]={2,4,6,8,10,12}; \x05int i,j; \x05p=(int(*)[2])a; \

指针:任意输入三个实数,打印其最大值,最小值,平均值,要求用函数及指针作函数实参,指针变量作形参#include #include void main(void) { \x05int (*p)[2]; \x05int a[]={2,4,6,8,10,12}; \x05int i,j; \x05p=(int(*)[2])a; \
指针:任意输入三个实数,打印其最大值,最小值,平均值,要求用函数及指针作函数实参,指针变量作形参
#include
#include
void main(void)
{
\x05int (*p)[2];
\x05int a[]={2,4,6,8,10,12};
\x05int i,j;
\x05p=(int(*)[2])a;
\x05printf("output by row:\n"); //按行输出:
\x05for(i=0;i

指针:任意输入三个实数,打印其最大值,最小值,平均值,要求用函数及指针作函数实参,指针变量作形参#include #include void main(void) { \x05int (*p)[2]; \x05int a[]={2,4,6,8,10,12}; \x05int i,j; \x05p=(int(*)[2])a; \
首先指出一处错误:“通过指针数组p和一维数组a...” 中的p(即int (*p)[2];) 不是 指针数组,
p 是 指向有2个int型元素数组的指针,乃 数组指针 也!
再说说sizeof(a)/sizeof(*a)/2:
先看sizeof(a):取得数组a的长度,以字节计算,在题目中其值为12(假设为16位机器,
即int型占2字节,其实数组的元素个数与机器字长无关,看完以下便知)
sizeof(*a):*a为第一个元素,即a[0],为int型,其值为2.
sizeof(a)/sizeof(*a):即计算数组的元素个数,为6(即12除以2的值)
sizeof(a)/sizeof(*a)/2:再除以2,就得到作为“2个int型元素数组”的数量了,其值为3,即二维数组的第二维数.