我的输出令人困惑

问题描述 投票:0回答:1
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int a , b ,c ;
  printf("Enter values for a and b: ");
  scanf("%d%d",&a,&b);

    a = a + b-- ;

  if (a<b){
    c = -1;
  printf("\n\t%d %d %d\n\n",a,b,c);
          }
  else {
    c = 0;
    printf("\n\t%d %d %d\n\n",a,b,c);
       }
}

假定a和b的输入值为2(“对于它们两个而言”)我对上述程序进行了很好的研究,但是当涉及到看跌期权时,它将为4 1 0,a = 4,b = 1,c = 0。但是,上面的计算部分说a = a + b-1将是a的值是3,现在a的新值是3。但是对于b值仍然是2 coz,我们没有分配新值对此。

我真的很困惑输出。4 1 0 ????怎么了!!!!

帮助:(

c input output
1个回答
0
投票

一开始,a和b均为2

然后,执行a = a + b--;

减量运算符位于b之后,因此其求值为:

© www.soinside.com 2019 - 2024. All rights reserved.