若有语句“int a[4]={10,11,12,13},b,*p=a;”则执行语句“b=*p++;”后b的值是_______,

2025-06-21 02:54:04
推荐回答(3个)
回答1:

单目运算符从右向左结合,所以
b=*p++的意思是b=*(p++) 因为是后加所有b=*p=*a=a[0] =10;p = a+1 =&a[1]
再执行b=*++p,因为是前加所以p=p+1 = a+2 = &a[2] ; b=*p = *(a+2) = a[2] = 12
再执行b=++*p,因为则是先算内容再加一,则b = *p + 1 = *(a+2) + 1 = a[2] + 1 = 13
结果分别是10 12 13

回答2:

11,12

回答3:

10,11