TA贡献1306条经验 获得超9个赞
第一空:int指针指向数组,可以是*p=a,也可以是*p=&a[0],可能第二种方式更好理解,指针指向数组的第一个元素的地址,但是前面的方式更常见,它和函数指针的写法类似;
第二空:sum+=*p++,这里p采用后缀自增,*p++的意义是先复制p,解引用p(也就是拿到*p),然后再移动指针p;
第三空:sum/10.0,这里sum是int型,打印的是float型,所以要除以10.0,然后int型会转换为float计算;
题目求第一个出现的负数,按照我给的数组,第一个出现的负数应该是-2呀,为啥运行出来的是后面的-23,哪里有问题,请各位前辈指点一下啦,非常感谢
你这是两层循环,break之前可以将i置为3,这样跳出内循环后,外循环因为i= 3了也就不会再进了,从而拿到你想要的结果
你拿到相应的数据后要break结束循环,你没有结束循环,导致取的是最后一个负数了
你说的算不对是和答案不一样么?
题目的意思可能是要求这些操作连续执行,如果每次初始条件都一样,那么你算的是正确的。但是,如果在运算过程中,a的值随着运算变化,答案就不一样了。
下图是每次运算都按初始值计算
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。