c语言以下循环体的执行次数是 1为什么

1.18下列程序执行后的输出结果是(小数点后只写一位)666.06.0为什么main(){doubled;floatf;lingl;inti;i=f=l=d=20/3;p... 1.18
下列程序执行后的输出结果是(小数点后只写一位)
6 6 6.0 6.0为什么
main() { double d; float f; ling l; int i; i=f=l=d=20/3;
printf("%d %ld %f %f \n", i,l,f,d);}

1.22
以下循环体的执行次数是 1为什么
mian() { int i,j; for(i=0,j=1;j<=j+1;i+=2,j--}printf("%d \n",i);}
展开
 我来答
百度网友ec41e731f
2006-04-16 · TA获得超过206个赞
知道答主
回答量:58
采纳率:0%
帮助的人:87.6万
展开全部
第一题,20/3在C语言中默认是用整型计算的,因此得到的结果也是整型的,所以返回6,把6用%f打印出来就是6.0了。

第二题,j<=j+1这个条件不管j是多少都为真,因此只会循环一次。
chj853
2006-04-16 · TA获得超过110个赞
知道小有建树答主
回答量:182
采纳率:0%
帮助的人:168万
展开全部
1,20/3默认是用整型计算,再附值
2,for(i=0,j=1;j<=j+1;i+=2,j--)是个死循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2fb6b5f47
2006-04-16 · 超过19用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:69.4万
展开全部
第一题,20/3在C语言中默认是用整型计算的,因此结果只去整数部分,所以返回6,把6用%f打印出来就是6.0了。
第二题j<=j+1打错了吧。应该是i<j+1吧。这是个死循环,j<=j+1始终为真,怎么可能执行一次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小将哈哈
2006-04-16 · TA获得超过1633个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:0
展开全部
不知道大家想过没有,在计算机中数是有范围的.所以我认为j<=j+1不是永为真.例如,当用8为来表示整数(有符号)时,127为最大整数,在加1,就变为-128了,此时条件不就不成立了.所以我认为,不一定是一个死循环,只是输出的次数太多,像个死循环.不知大家是否认可?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式