C语言逻辑运算符问题

(year%4==0&&year%100!=0)||year%400==0,这个逻辑表达式是怎样运算的?“!”这个逻辑运算符是作用于100还是0?麻烦高手解答下,拜托了!... (year%4==0&&year%100!=0)||year%400==0,这个逻辑表达式是怎样运算的?“!”这个逻辑运算符是作用于100还是0?麻烦高手解答下,拜托了! 展开
 我来答
youlvconglin
2010-10-07 · TA获得超过103个赞
知道答主
回答量:49
采纳率:0%
帮助的人:23.1万
展开全部
C表达式中的操作符按优先级顺序结合,本表达式中运算符的优先级顺序从高到低为:()、%、==、!=、&&、||。
所以表达式计算分解为:
temp1=year%4;
temp2=year%100;
temp3=year%400;
temp4=(temp1==0);
temp5=(temp2!=0);
temp6=(temp3==0);
temp7=(temp5&&temp6);
expr=(temp7||temp6);
所以操作符"!="的操作数为temp2和0,即(year%100)和0两个表达式;
匿名用户
2010-10-07
展开全部
整个逻辑表达式由两个逻辑条件构成:
1. 是(year%4==0&&year%100!=0),表达year能够被4整除但是不能被100整除,含义就是除了末尾两位数是00的年份外,能够被4整除的那些年份满足条件。其中!是与 = 共同构成C的关键字 != 表示“不等于”的关系。
2. year%400==0,表示能够被400整除的年份(%是求余数运算)表达式表达的含义是year除以400时余数等于0。
1和2两个条件之间的的关系是“逻辑或”,用“||”表示。任何一个year,若满足1和2两个条件之一,就使整个表达式的计算结果为“真”,在C语言中即为1。如果某个year对上述两个条件都不满足,则使表达式的计算结果为假,即为0。
题目应该要求的是闰年的年份,闰年的条件是:
年份能够被4整除但不能被100整除,或者年份能被400整除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式