今天刷题碰到一个指针数组的题,解不出来,求大佬指点..题:将十个整数输入数组,求出其平均值并输出。main(){inti,a[10],sum=0,p=______;/第一空*/for(i=0;i
2 回答
九州编程
TA贡献1785条经验 获得超4个赞
第一空:int指针指向数组,可以是*p=a,也可以是*p=&a[0],可能第二种方式更好理解,指针指向数组的第一个元素的地址,但是前面的方式更常见,它和函数指针的写法类似;第二空:sum+=*p++,这里p采用后缀自增,*p++的意义是先复制p,解引用p(也就是拿到*p),然后再移动指针p;第三空:sum/10.0,这里sum是int型,打印的是float型,所以要除以10.0,然后int型会转换为float计算;代码如下:#include intmain(intargc,char*argv[]){inti,a[10],sum=0,*p=a;for(i=0;i<10;i++){scanf("%d",p);sum+=*p++;}printf("%8.2f\n",sum/10.0);return0;}运行结果如下:root@lui-pc:~/CLionProjects/test01/cmake-build-debug#./test01123456789105.50root@lui-pc:~/CLionProjects/test01/cmake-build-debug#
添加回答
举报
0/150
提交
取消