【发布时间】:2015-03-17 04:23:29
【问题描述】:
我不确定在 printf 语句中增加变量是否会将有价值的值保存到变量中。
int x = 0;
printf("x=%d\n", ++x);
printf("x=%d\n", x);
输出是
x=1
x=0
或
x=1
x=1
我从未学过 C 的基础知识,想知道它如何与 C++ 匹配。
我确实了解前/后增量,但我担心如果我在函数范围内递增它,则在第一个 printf() 中执行 ++x 不会保存。
【问题讨论】:
-
是什么阻止您运行代码?
-
operator++修改值。这就是重点。 -
这与
printf无关。在 C 中,所有变量都是按值传递的。由于您没有在任何地方获取地址 (&),因此printf无法修改您的变量。 -
@MarounMaroun 我目前无法使用任何代码。只是想知道
-
@JonathonReinhart 我现在明白了,谢谢