提问人:Viraj 提问时间:10/24/2023 更新时间:10/24/2023 访问量:35
printf() 如何使用前缀和后缀一元运算符执行其参数?
How does printf() execute its arguments with prefix and postfix unary operators?
问:
我在 C 中为 printf 编写了一个简单的代码,带有一元前缀运算符,如下所示:
#include <stdio.h>
int main() {
int i=5;
printf("%d %d %d",++i,i,i+1);
return 0;
}
这是输出:
6 6 6
现在,我所理解的是,C 编译器通常从右到左执行 printf() 参数,因此在这种情况下,i+1 应该是 6(因为 i 是 5),i 应该是 5,++i 首先变成 6,然后打印。因此,在我看来,预期的输出应该是:6 5 6
如果它从左到右执行,我们应该得到 .6 6 7
答: 暂无答案
评论
printf("%d %d %d",++i,i,i);
printf("%d %d %d",++i,i,i+1);