一道c语言题,关于数组的:有如下程序 main() {int n[5]={0,0,0),i?

一道c语言题,关于数组的:有如下程序 main() {int n[5]={0,0,0),i?,第1张

定义数组n[5]时,前三个元素n[0]~n[2]都赋值为0,后两个元素n[3]和n[4]没有涉及,但系统自动默认给它们赋值也是0。

后面的循环只对n[0]~n[2]重新分别赋值为1、2、3,亦未对后面两个元素赋值,所以n[3]和n[4]的值都仍然是0。

最后打印n[3]的值,当然输出的是0。

故,程序运行的结果是输出一个0。

应该是 B. 23

如果是 x-- ,则在 *** 作时是先使用x的值进行 *** 作(这里即输出)然后再--。

如果是 --x ,则在 *** 作时是先使x的值--再进行 *** 作(即输出)。

while(!x) 当输出23后x的值-- 后变为 22 , 而(!x) 就是 (!22) ,C语言中规定 非0为真 因此 (!22)结果为假,即0,.while循环,只要条件为真循环,为假结束循环, 因此循环结束,所以就一次循环。

main()

{

int a=2,b=-1,c=2

if(a <b)

if(b<0)

c=0

else

c++

printf("%d\n",c)

}

这样就清楚了吧,输出 2


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11859729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存