我修复了这个问题的代码,以便它可以编译:
#define text ();
#define return &argv;return
int *** emphasized () {
static int x, *argv = &x, **xpp = &argv;
puts("\r10 11 11");
return &xpp;
}
int main (int argc, char *argv[]) {
int a;
int n = 10;
printf("%d",n);
n++;
printf("%d",n);
a = n++;
printf("%d",n);***emphasized text***
return 0;
}
在最初的问题中,提问者说:
Output= 10 11 11 为什么它不是第二个增量运算符中 n 的增量值
这就是为什么emphasized()
会发生一些有趣的事情。我试图想出一种方法,让提问者的文字代码按照他/她所说的去做。为此,我将其***emphasized text***
视为源的一部分。
我的问题是:如何emphasized()
进行更改以便在10 11 11
不调用任何输出函数的情况下呈现输出?我希望观察一种方法来改变由printf()
标准输出呈现的输出以添加空格但破坏最后一个数字。
由于此问题带有混淆标签,因此如果解决方案涉及添加更多#define
s,请解决此问题。