代码记录:
#include
int exam01()
{
int k=5;
int *p;
p=&k;
printf("%x\t%x\n",p,&p);
printf("%d\t%x\n",k,p);
*p=10;
printf("%d\n",k);
int a[10]={7,8,15,35};
int i;
int *q=a;// q=&a[0];
printf("%d,%d\n",a[2],*(q+2));//输出数值
printf("%x,%x,%x\n",&a[0],q,a);//输出地址
printf("%x,%x,%x\n",&a[2],q+2,a+2);
for(i=0;i<5;i++)
{
printf("%d\t",a[i]);
}
printf("%d\n",*q);
return 0;
}
int exam02()
{
int a[50]={20,15,36,9,18};
int i,max=0,min=0;
for(i=1;i<=4;i++)
{
if (a[i]>a[max])
max=i;
else
continue;
}
printf("%d\t",a[max]);
for(i=1;i<=4;i++)
{
min=i;
else
continue;
}
printf("%d\n",a[min]);
return 0;
}
int exam03()
{
int a[50]={9,15,18,30,45};
int length=5;
int i;
for(i=0;i<=length;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
int j=20;
for(i=4;i>=0;i--)
{
if(a[i]>j)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=j;
for(i=0;i<=5;i++)
printf("%d\t",a[i]);
printf("\n");
int m=7,n=50;
for(i=5;i>=0;i--)
{
if(a[i]>m)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=m;
for(i=6;i>=0;i--)
{
if(a[i]>n)
{
a[i+1]=a[i];
}
else
break;
}
a[i+1]=n;
for(i=0;i<=7;i++)
printf("%d\t",a[i]);
printf("\n");
return 0;
}
void main()
{
exam01();
exam02();
exam03();
}
自我总结:
1 要加强对数组与指针的对应关系的记忆
2 在数组中插入新元素并排列的思路不清晰
3 存储的大致模式还需要再记的更牢固