C语言中b=(c++)+(c++)运算顺序

2025-03-23 20:13:42
推荐回答(4个)
回答1:

b=(c++)+(c++);相当于写:b=c+c; c++; c++;
看这段c程序的反汇编结果:
29: int c=0,b;
00401218 mov dword ptr [ebp-4],0 ;给变量c赋初值0
30: b=(c++)+(c++);
0040121F mov eax,dword ptr [ebp-4] ;将变量c取出到寄存器eax
00401222 add eax,dword ptr [ebp-4] ;求eax与变量c的和
00401225 mov dword ptr [ebp-8],eax ;将eax的结果存储到变量b
00401228 mov ecx,dword ptr [ebp-4] ;取变量c到eax
0040122B add ecx,1 ;eax加1
0040122E mov dword ptr [ebp-4],ecx ;放回变量c
00401231 mov edx,dword ptr [ebp-4] ;再取变量c
00401234 add edx,1 ;再加1
00401237 mov dword ptr [ebp-4],edx ;放回变量c

回答2:

右括号,左括号,

回答3:

b = c + c
c = c + 2

回答4:

b=c+c c ++ c++就是这个顺序