设int i=5,f=15; 则执行语句 if(i=0) f-=5; 后i和f的值分别是?
2个回答
展开全部
i和f的值分别是0和15。
因为if后面的i=0不是逻辑表达式,而是一个赋值语句,所以赋值后i的值就成为0。
接下来执行if(),是条件分支语句,()内的逻辑值决定了后面的f-=5是否执行。
因为此语句if后面的()内不是关系表达式,也不是逻辑表达式,而是一个普通的表达式(赋值语句也可认为是一个跟数值相关的普通表达式),c语言就把这个数值解释为逻辑值,并且规定:数字0为逻辑假,一切非零数字都是逻辑真。
此处括号内的i=0,代表这个表达式的值是0,被c语言解释为逻辑假,所以,不执行后面的f-=5,当然,f的值还是15了。
有什么问题请留言。
因为if后面的i=0不是逻辑表达式,而是一个赋值语句,所以赋值后i的值就成为0。
接下来执行if(),是条件分支语句,()内的逻辑值决定了后面的f-=5是否执行。
因为此语句if后面的()内不是关系表达式,也不是逻辑表达式,而是一个普通的表达式(赋值语句也可认为是一个跟数值相关的普通表达式),c语言就把这个数值解释为逻辑值,并且规定:数字0为逻辑假,一切非零数字都是逻辑真。
此处括号内的i=0,代表这个表达式的值是0,被c语言解释为逻辑假,所以,不执行后面的f-=5,当然,f的值还是15了。
有什么问题请留言。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询