C 编译器如何执行此 printf 语句

How can this printf statement be executed by the C compiler?

本文关键字:printf 语句 执行 编译器 何执行      更新时间:2023-10-16

我对printf语句在这个程序中是如何工作的感到困惑?我想知道执行的方式。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a=5;
    printf("%d %d %d %dn",a++,++a,++a,1);
    printf("%d",a);
    //printf("Hello world!n");
    return 0;
}

这将调用未定义的行为。陈述

 printf("%d %d %d %dn",a++,++a,++a,1);  

尝试在两个序列点之间修改a三次。