c - 编程前后增量

标签 c increment

所以我在 C 中玩弄增量并运行了这段代码

int main() {
   int a = 3;
   int b = 8;
   b = a++;
   printf("%d %d",a, b);
return 1;

最初我想,哦,是的,这很容易......所以我认为它会打印出 3 和 3。

这是因为 a++ 是一个后增量,并且在它被函数使用后增加值。相反,答案是

a=4
b=3

我不明白 post increment a 是如何在函数完成之前添加到 a 的,即 printf 语句。

有人可以解释为什么答案是什么吗?

谢谢

最佳答案

post 增量是在其使用后(之后),而不是在 printf() 之后。在您到达 printf() 调用之前它已更改。

关于c - 编程前后增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16733015/

相关文章:

XSLT 1.0 如何递增日期

JavaScript 增量 y=++x

c - C中是否有const函数?

C - 将代码分解成单独的文件

java - JSP 中的变量没有增加

python - 为什么链接增强赋值会抛出 SyntaxError

c# - Visual Studio - 每当我将鼠标放在它上面时变量都会增加(断点)

c - 如何在printf中连接数字

c - 目标和目标数据之间的差异?如何在没有团队指令的情况下进行团队/线程配置?

c++ - 必须在赋值中赋值