大一时写的,很菜
实验目的:
①探究用指针输出数组元素优先级规则。
②输出二维数组的有关数据(地址或元素)。
③练习函数的定义,声明与引用。
实验思路:
①定义一个一维数组并对其初始化,定义一个指针变量p,给指针变量赋初值,输出不同情况下的数值。
②定义一个二维数组并对其初始化,输出不同形式的数值。
③练习max函数。
参考代码:
①:
#include<stdio.h>
int main()
{int *p,*i,a[5]={1,2,3,4,5};
p=&a[2];
printf("%d\n",*p++); //先输出*p再将p加1,*p==a[2]==3
printf("%d\n",*p); //*p==a[3]==4
printf("%d\n",*(p++));//等价于*p++,*p==a[3]==4
i=&a[2];
printf("%d\n",*(++i));//*i==a[3]==4
printf("%d\n",++(*i));//*i==a[4]==5
printf("%d\n",*(i--));//*i==a[4]==5
printf("%d\n",*(--i));//*i==a[1]==2
}
②:
#include<stdio.h>
int main()
{int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
printf("%d,%d\n",a,*a);
printf("%d,%d\n",a[0],*(a+0));
printf("%d,%d\n",&a[0],&a[0][0]);
printf("%d,%d\n",a[1],a+1);
printf("%d,%d\n",&a[1][0],*(a+1)+0);
printf("%d,%d\n",a[2],*(a+2));
printf("%d,%d\n",&a[2],a+2);
printf("%d,%d\n",a[1][0],*(*(a+1)+0));
printf("%d,%d\n",a[2],*(*(a+2)+0));
}
③:
#include<stdio.h>
int main()
{int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{int z;
if(x>y)z=x;
else z=y;
return(z);
}