
4个回答
展开全部
int a=5;
printf("!(a--)=%d\n",!(a--)); //---result:0
int a=5;
printf("!a--=%d\n",!a--); //---result:0
int a=5;
printf("a--=%d\n",a--); //---result:5
int a=5;
printf("1+(a--)=%d\n",1+(a--)); //---result:6
a-- 计算时用a的值,计算完后a=a-1;
--a 先a=a-1,计算时用的是a减一后的值;
更多追问追答
追问
a呢?
追答
a=4
int a=5;
!(a--);
printf("a=%d\n",a); //---result:4
展开全部
0,a--即 !(4),4为真 真的非运算为假,假在c语言中用0表示
追问
a呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0,运算符"!"只有两个值,0或者1,显然,此时的值为0
更多追问追答
追问
a呢?
追答
都别在误人子弟了.我给出准确明智答案:
表达式!(a--)的值为0,执行完后,a的值为4,后缀运算符--运算规则:先计算!a,再计算a--.所以答案如我所说的,很明了了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
!(a--) 重点理解这个地方,这个可以这么理解:(!a)--
所以这个a首先被非,得到0,再减减就得到-1.
所以这个a首先被非,得到0,再减减就得到-1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |