C语言求过程
7.下面程序的输出是()。main(){inty=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}}}(A)7...
7.下面程序的输出是( )。
main()
{int y=9;
for(;y>0;y--)
{if(y%3==0)
{printf("%d",--y);continue;}}}
(A)741 (B)852 (C)963 (D)875421 展开
main()
{int y=9;
for(;y>0;y--)
{if(y%3==0)
{printf("%d",--y);continue;}}}
(A)741 (B)852 (C)963 (D)875421 展开
2个回答
展开全部
答案选B,即输出 852。
分析:
根据语句【if(y%3==0)】,说明当 y 是 3 的倍数时,就会执行【printf("%d",--y);】语句。
--y 是先让 y - 1,最后再输出 y 的值。
在循环中,y 的值从 9 开始,条件是 y > 0,那么这些数中,是 3 的倍数的整数有 9、6、3。因为最后是输出 y - 1 的值,所以输出的是“852”。
运算过程:
y = 9,y % 3 == 0为真,--y,此时 y = 8,输出 8。
y--,此时 y = 7,y % 3 == 0为假。
y--,此时 y = 6,y % 3 == 0为真,--y,此时 y = 5,输出 5。
y--,此时 y = 4,y % 3 == 0为假。
y--,此时 y = 3,y % 3 == 0为真,--y,此时 y = 2,输出 2。
y--,此时 y = 1,y % 3 == 0为假。
y--,此时 y = 0,y > 0 为假,退出循环。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询