if语句条件中的逗号分隔参数

jay*_*ila 3 c if-statement

if如果它只是被忽略,那么在一个陈述中第一个论点的重要性是什么?例如,在:

#include<stdio.h>
main()
{
  if(1,0)
    printf("abc");
  else
    printf("qwe");
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*inn 8

这不是一个参数列表,它是逗号运算符.

如果你有一个类似的语句foo(), bar(),那么foo()将被调用并且它的结果被丢弃,然后bar()将被调用并且整个语句的结果将是bar()结果.if(foo(),bar())如果调用foo()有某些副作用需要由于某种原因发生,可能会使用类似的东西.

对于类似的东西1,0,这与刚说的完全相同,0并且没有任何意义1.