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

时间:2013-06-24 12:45:00

标签: c if-statement

如果它被忽略,那么if语句中第一个参数的重要性是什么?例如,在:

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

1 个答案:

答案 0 :(得分:8)

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

如果您有foo(), bar()之类的语句,则会调用foo()并丢弃其结果,然后调用bar(),整个语句的结果将为bar()的结果。如果调用if(foo(),bar())会因某种原因需要发生某些副作用,则可能会使用foo()之类的内容。

类似1,0之类的内容,与0完全相同,1没有任何意义。