C语言执行程序段int a=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%d\n",k,a,b)输出什么,求讲解过程 10

 我来答
806973435
2017-05-31 · TA获得超过106个赞
知道答主
回答量:28
采纳率:100%
帮助的人:7.7万
展开全部
输出结果为0,0,4
int a=-1,b=4,k;定义三个变量,并赋值
k=(++a<0)&&!(b--<=0);
++a,表示a先+1再参加运算,则++a<0是错误的,计算之后a=0
如果有两个& 即&&,而且前部分为错,则后半部分不执行,
那么k=0,且b不发生变化即b=4
bad5tone
2017-05-31 · TA获得超过436个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:148万
展开全部
int a=-1,b=4,k;   //声明变量并赋值
k=(++a<0)&&!(b--<=0);   
//a先自加1在判断是否小于0,b先判断是否小于等于0再取反再自减1,
//然后两次判断结果取与运算,左边为真,右边也为真,取与为真,k=1
printf("%d,%d,%d\n",k,a,b) //k=1, a=0, b=3
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式