首页 > 代码库 > 第三次作业

第三次作业

#include<stdio.h>
#include<stdlib.h>
main()
{
    int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},i,c;
    int *p=&a[0];
    scanf("%d",&i);
    p=p+i;
    printf("a[%d]=%d\n",i,*p);//输出任意一个数 
    sizeof(a);
    c=sizeof(a)/sizeof(int);//sizeof是数组a所占用的空间大小,让他除以int类型就能得到数组a的大小; 
    printf("%d\n",c);
    void fun(int *q,int d);//对子函数说明 
    fun(a,c);
 } 
 void fun(int *q,int d)
 {int t;
 
  for(t=0;t<d;t++,q++)
 printf("a[%d]=%d\n",t,*q);
}
4
a[4]=5
12
a[0]=1
a[1]=2
a[2]=3
a[3]=4
a[4]=5
a[5]=6
a[6]=7
a[7]=8
a[8]=9
a[9]=10
a[10]=11
a[11]=12

--------------------------------
Process exited after 2.265 seconds with return value 12
请按任意键继续. . .

码云账号:1040752010@qq.com   

技术分享

代码说明:首先对sizeof的运用说明,是在网上查到的,网上告诉可以用sizeof(函数名)比上sizeof(int)来求数组的长度大小。其次在编译的过程中一开始把sizeof放于子函数中,其调用时无法输出全部值,这时我才想到调用的是首地址,只有4个字节。所以又把他放于主函数中。

总结:网络是一个优秀的学习资源,我们应该多使用网络促进学习。

码云账号:1040752010@qq.com

 

第三次作业