1.有以下程序 main() { int y=10; while(y--); printf("y=%dn",y); } 程序执行后的输出结果是() A) y

1.有以下程序 main() { int y=10; while(y--); printf("y=%dn",y); } 程序执行后的输出结果是() A) y,第1张

输出应该是y=-1吧

注意一下while后面有一个分号,也就是说,这个while循环只是做y--。

while(y--);

(y--算拿y来用了,再拿y来减一)

对于这题来说我们知道,while()什么时候跳出循环呢?是括号的值为0的时候。也就是说:y--=0,这时先是算y=0然后y再减1,也就是y=-1了。

运行结果为10,20

因为虽然在fun函数中进行了a,b值的交换,

但是a,b仅仅是fun函数的内部变量,他们的值的变化不影响main函数中的x,y的值,所以x,y还是10,20。

具体执行过程:

main函数中调用func(),并将x,y的值赋给fun()函数的两个临时变量a,b

在fun函数中交换a,b的值

退出fun函数,输出main函数中的x,y值

输出结果是n=4。

看这个循环的执行:

for(i=2;i<5;i++)

{ do

{ if(i%3) continue;

n++;

} while(!i);

n++;

}

i=2:i%3(i除以3取余为2),if条件成立,continue执行,后续n++不执行,直接判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=1,再执行下一次for循环

i=3:i%3(i除以3取余为0),if条件不成立,n++执行,n=2。再判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=3,再执行下一次for循环

i=4:i%3(i除以3取余为1),if条件成立,continue执行,后续n++不执行,直接判断while(!i),i不为0,!i为假,退出do/while循环,执行while后面的n++,n=4,再执行下一次for循环

最后,n=4。

以上就是关于1.有以下程序 main() { int y=10; while(y--); printf("y=%d\n",y); } 程序执行后的输出结果是() A) y全部的内容,包括:1.有以下程序 main() { int y=10; while(y--); printf("y=%d\n",y); } 程序执行后的输出结果是() A) y、分析以下程序的运行结果( )、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } wh等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/10143719.html

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

发表评论

登录后才能评论

评论列表(0条)

保存