1、 下面代码打印结果是__________(需要写上分析思路)
#include <stdio.h>
int main(int argc, const char * argv[])
{
int b;
int a = 5;
b = (++a) + (a++);
printf("b=%d, a=%d\n", b, a);
return 0;
}
答案是b = 12,a = 7
第一个++a的时候,++a 等于6 ,同时a加一等于6.
第二个a++是把a的值复制给a++所以a++等于6 ,但是此时a要加一等于7
所以b = 6+6=12 ,a = 7;
|
|