这道C语言的题怎么解?
展开全部
本题在循环中出现了四个逗号表达式。其实只要记住逗号表达式中最后一个表达式的值,才是逗号表达式的最终结果。所以,循环条件中只有y<10,才是判断循环是否进行的条件。所以循环体每次结束后,x和y的值如下:
15 2
7 4
3 6
1 8
0 10
0 12
退出循环结后的输出果就是图中红色显示的内容
15 2
7 4
3 6
1 8
0 10
0 12
退出循环结后的输出果就是图中红色显示的内容
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for循环的判断条件为当x>=10或者y>10两个均不成立时,循环停止。每次循环结束后,x和y都会自增自减来改变自己的条件。运行循环得到的结果就为x=0,y=12。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、第一次循环:x=15,y=2
2. 第二次循环:x=7,y=5(从这次循环开始,x不会自减,因为x是7,7是小于10的,故x不会 自减,循环条件是x大于等于10,x才自减)
3. 第三次循环:x=3,y=8
4. 第四次循环:x=1,y=11
5. 第五次循环:x=0,y=12(由于上一次循环y=11,11是大于10 的,故y不会再次加2)
2. 第二次循环:x=7,y=5(从这次循环开始,x不会自减,因为x是7,7是小于10的,故x不会 自减,循环条件是x大于等于10,x才自减)
3. 第三次循环:x=3,y=8
4. 第四次循环:x=1,y=11
5. 第五次循环:x=0,y=12(由于上一次循环y=11,11是大于10 的,故y不会再次加2)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0.666667。
原因:
c的运算过程会类型变化。
(double)(2/3)结果是0.000000:2/3,int/int,结果也为int,结果为0,double强转变成0.000000。
(double)2/3结果是0.666667:2先强转double,2.000000/3结果为0.666667。
(double)2/3-(double)(2/3)=0.666667。
原因:
c的运算过程会类型变化。
(double)(2/3)结果是0.000000:2/3,int/int,结果也为int,结果为0,double强转变成0.000000。
(double)2/3结果是0.666667:2先强转double,2.000000/3结果为0.666667。
(double)2/3-(double)(2/3)=0.666667。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这道题有问题。
追问
有问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询