在函数调用中,为什么逗号不是序列点?

In a function call, why isn't comma a sequence point?

在下面的代码中

int main(){  
    int a=3;  
    printf("%d %d %d",++a,a,a++);
    return 0;
}  

按照规定,来自 C99 附录 C:,

以下是5.1.2.3中描述的序列点:

C 标准未定义计算函数参数的顺序。

但是,在 printf 的函数调用中,我们有以逗号分隔的参数,这些参数被归类为序列点。那么为什么这个语句会对应未指定的行为呢?

因为函数调用中的逗号不是comma operator而是分隔符。所以它不引入任何序列点。