如何使"i + = x"作为"i ++"?

MOH*_*MED -2 c

以下代码

int i=0;
while(i<10) {
   printf("%d\n", i++);
}
Run Code Online (Sandbox Code Playgroud)

相当于

int i=0;
while(i<10) {
   printf("%d\n", i); i++;
}
Run Code Online (Sandbox Code Playgroud)

但是下面的代码

int i=0;
while(i<10) {
   printf("%d\n", i+=2);
}
Run Code Online (Sandbox Code Playgroud)

相当于

int i=0;
while(i<10) {
   i+=2; printf("%d\n", i);
}
Run Code Online (Sandbox Code Playgroud)

如何使它等同于

int i=0;
while(i<10) {
   printf("%d\n", i); i+=2;
}
Run Code Online (Sandbox Code Playgroud)

同样的 i++

Jus*_*ous 8

您也可以编写宏来执行此操作.像这样:

#define POSTINC(var, val) ((var) += (val), (var) - (val))

printf("%d\n", POSTINC(i,2));
Run Code Online (Sandbox Code Playgroud)

但是更好地使用for或者只是增加下一个语句中的值.