因为在c语言中除法的两个操作数如果都是整形,那么它们的商也必须被强制转化为整形,所以1/2的结果应该是整形数据零,而零大于零显然是不成立的所以为假
回复 嘿嘿大人:可是给的答案是这样的1/2=1>0为假????????????????????
回复 嘿嘿大人:#include <stdio.h>fun(int x){ if(x/2>0) fun(x/2); printf("%d ",x);}main(){ fun(6); printf("\n");}程序运行后输出的结果是__【15】__ 。
回复 嘿嘿大人:
if语句只管fun(x/2);这一条语句,所以不管是否执行了if语句,都要输出x的值 x=6,6/2=3>0为真,调用fun函数,x=3 x=3,3/2=1>0为真,继续调用fun函数,x=1 x=1,1/2=1>0为假,因为x=1是最先结束的,所以依次输出1,输出3,输出6。因此答案为1 3 6。
回复 带我走@:解析错了呗,这解析错的多了,好多都是我改过来的,不要去相信什么解析,要自己去理解了进行判断,解析还不是人写的
点赞
扫一扫分享朋友圈
二维码
分享
你确定要删除这个问题吗?