k的值是多少,为什么 ?详细一点,在线等

#include<stdio.h>intmain(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%d\n",k,a... #include <stdio.h>

int main()
{
int a=-1,b=4,k;
k=(++a<0) &&! (b--<=0);
printf("%d,%d,%d\n", k,a,b);

return 0;
}
展开
 我来答
黎明之鸟l
2018-01-19 · TA获得超过263个赞
知道小有建树答主
回答量:247
采纳率:67%
帮助的人:128万
展开全部
等效于以下程序;
int main()
{
int a=-1,b=4,k;
k=(++a<0)&&!(b<=0);// k=(0<0)&&!(4<=0),0不小于0所以k必定是0,//a=0
b--; //b=3
printf("%d,%d,%d\n", k,a,b);
return 0;
}
//左++是先自加在使用,右--是先使用在--
追问
b=4
追答

试了下,&&右侧的语句没有执行,可能是左侧已经决定了k的值,编译器 优化掉了。

杭州彩谱科技有限公司
2020-07-03 广告
测色仪L、a、b、c、h的意思,L代表明暗度(黑白),a代表红绿色,b代表黄蓝色,c表示彩度(色彩饱和的程度或纯粹度),h表示色调角。测色仪,广泛应用于塑胶、印刷、油漆油墨、纺织、印染服装等行业的颜色管理领域,根据CIE色空间的Lab,Lc... 点击进入详情页
本回答由杭州彩谱科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式