求大佬回答一下,这个C语言数组题怎么做?

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,哪里有问题,请各位前辈指点一下啦,非常感谢

[quote=引用 1 楼 datoulaile123的回复:]你拿到相应的数据后要break结束循环,你没有结束循环,导致取的是最后一个负数了
你这是两层循环,break之前可以将i置为3,这样跳出内循环后,外循环因为i= 3了也就不会再进了,从而拿到你想要的结果

你这是两层循环,break之前可以将i置为3,这样跳出内循环后,外循环因为i= 3了也就不会再进了,从而拿到你想要的结果

你拿到相应的数据后要break结束循环,你没有结束循环,导致取的是最后一个负数了
好的,谢谢您,那break要加在哪里呀

你拿到相应的数据后要break结束循环,你没有结束循环,导致取的是最后一个负数了

}

你说的算不对是和答案不一样么?

题目的意思可能是要求这些操作连续执行,如果每次初始条件都一样,那么你算的是正确的。但是,如果在运算过程中,a的值随着运算变化,答案就不一样了。

下图是每次运算都按初始值计算

}

我要回帖

更多关于 c语言题目用什么软件能解答 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信