c语言中 若a=5; !(a--)等于多少? 为什么?

其实是想问a等于多少的·······... 其实是想问a等于多少的······· 展开
 我来答
PHPJungle
推荐于2017-09-05 · TA获得超过2130个赞
知道小有建树答主
回答量:247
采纳率:50%
帮助的人:236万
展开全部
  • 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

系榆6I
2013-01-13 · TA获得超过389个赞
知道小有建树答主
回答量:359
采纳率:0%
帮助的人:258万
展开全部
0,a--即 !(4),4为真 真的非运算为假,假在c语言中用0表示
追问
a呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
109827829
2013-01-13 · 超过11用户采纳过TA的回答
知道答主
回答量:27
采纳率:0%
帮助的人:26.7万
展开全部
0,运算符"!"只有两个值,0或者1,显然,此时的值为0
更多追问追答
追问
a呢?
追答
都别在误人子弟了.我给出准确明智答案:
表达式!(a--)的值为0,执行完后,a的值为4,后缀运算符--运算规则:先计算!a,再计算a--.所以答案如我所说的,很明了了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
重生的飘渺
2013-01-13 · 超过12用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:27.6万
展开全部
!(a--) 重点理解这个地方,这个可以这么理解:(!a)--
所以这个a首先被非,得到0,再减减就得到-1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式