C语言中的逻辑运算符问题~~~

请问这道程序要怎么解释啊???a,b,c的值。#include<stdio.h>#definezprintf("a=%d\tb=%d\tc=%d\n",a,b,c);vo... 请问这道程序要怎么解释啊???a,b,c的值。

#include<stdio.h>
#define z printf("a=%d\tb=%d\tc=%d\n",a,b,c);
void main()
{
int a,b,c; clrscr();
a=0,b=c=3;
++a||++b&&++c;
z;
a=b=c=3;
++a&&++b||++c;
z;
a=b=c=3;
++a&&++b&&++c;
z;
a=b=c=-3;
++a&&++b||++c;
z;
a=b=c=-3;
++a||++b&&++c;
z;
a=b=c=-3;
++a||++b||++c;
z;

}
展开
 我来答
玉门关春风
2008-10-15 · TA获得超过405个赞
知道小有建树答主
回答量:432
采纳率:100%
帮助的人:368万
展开全部
// 或运算||只要有一个条件成立,其它不再判断
// 与运算&&所有条件都要执行运算
// 与 比 或有更高优先级

#include<stdio.h>
#define z printf("a=%d\tb=%d\tc=%d\n",a,b,c);
void main()
{
int a,b,c; //clrscr();
a=0,b=c=3; //a=0;c=3;b=3;
(++a)||(++b&&++c); //++a后a=1;条件成立++b和++c不执行
z; //结果a=1,b=3,c=3;
a=b=c=3;
(++a&&++b)||(++c); //++a&&++b先执行,a=4,b=4,条件成立,++c不执行
z; //a=4,b=4,c=3
a=b=c=3;
(++a)&&(++b)&&(++c); //三个都运行
z;
a=b=c=-3;
(++a&&++b)||(++c);
z;
a=b=c=-3;
(++a)||(++b&&++c);
z;
a=b=c=-3;
(++a)||++b||++c;//++a运行
z;

}
匿名用户
2008-10-15
展开全部
这个程序要说明的概念就是 关系操作符的短路求值 特性了,关于这个特性,请参考以下页面:

http://baike.baidu.com/view/1083418.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
盈梅花蓝缎
2020-04-03 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.4万
采纳率:30%
帮助的人:844万
展开全部
你在scanf中写入了提示语句的话,你在输入的时候也要输入这些语句。。如:
记得请输入一个年份你也要写进去。。。或者你最好向一楼说的,用printf来提示。
#include
<stdio.h>
void
main()
{
int
a;
scanf("请输入一个年份:%d",&a);
if((a%4==0&&a%100!=0)||a%400==0)

printf("这一年是闰年。");
else

printf("这一年是平年。");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式