柔情换眼泪 2021-10-26 13:58 采纳率: 75%
浏览 19
已结题

这段程序算出来为什么是1呢 x等于1不是假命题吗

#include<stdio.h>
int main()
{
int x=3;
int y=(x=1)&&(x++);
printf("%d\n",y);
return 0;
}

  • 写回答

2条回答 默认 最新

  • 柔情换眼泪 2021-10-26 15:10
    关注

    后面的x=1是重新赋值的,是非零值,是真的,所以是1。x++是先用x再加,在这里还是1,是非零值,也是真,值是1。1&&1算出来就是1。哪怕你后面换成++x,先加再用x,得到的值是2,也是非零值,也是真,算出来是1。用接下来就是只要是非零值就是真,值为1。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月3日
  • 已采纳回答 10月26日
  • 创建了问题 10月26日