关于#c语言#的问题:再让n--等于3-1等于二吗

img


这个不是先能--n等于3然后输出,再让n--等于3-1等于二吗。为什么答案是直接选n等于2

首先n--和--n的都是让n自减1;
n--这个表达式的值是n自减之前的值;如:int n=5;int b=n--; 此时b的值为5。
--n就是在表达式中,先把n自减,再取n的值进行运算。如:int n=5;int b=--n;此时b的值为4。
while(n--)后,到printf时,n=3,然后再执行--n,n=2。