#include<studio.h>
int main()
{ int i,j,k,a=3,b=2;
i=(--a==b++)?--a;++b;
j=a++;k=b;
printf(“i=%d,j=%d,k=%d\n”,i,j,k);j
为什么b=3,不是2?
追答i=((--a)==(b++))?--a:++b;//这里(--a)返回的2,(b++)返回的2,因此返回--a,b所以是3--a是先递减1,再返回a
b++是先返回b,再递增1
本回答被网友采纳为什么,k=3呢?
追答前面有个++b,这个应该是先自增然后赋值,所以k的值是3