亿念久久 2022-02-23 17:24 采纳率: 100%
浏览 29
已结题

不明白答案为什么是1,2

int x=3,y=10;
if(x=1)
y=x;
y=y+1;
printf("%d,%d\n",x,y);

  • 写回答

1条回答 默认 最新

  • 谛凌 2022-02-23 17:29
    关注

    因为你写的
    if(x=1)
    这句不是if语句的判断,这是赋值,也就是x=1,进而y=x=1,后面y=y+1=2
    if语句应该这么写:if(x==1) 敲重点:判断相等是两个等号,一个等号是赋值

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月3日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日