#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 ????怎么了!!!!
帮助:(
一开始,a和b均为2
然后,执行a = a + b--;
。
减量运算符位于b
之后,因此其求值为: