if语句的任何一个enplane输出?

时间:2013-08-19 07:13:01

标签: c if-statement

如果要编译并执行以下c语句,将输出什么?

if(printf("This is"))
  printf(" tricky question");

输出为
This is tricky question

2 个答案:

答案 0 :(得分:4)

printf的文档解释了为什么会发生这种情况

  

返回值

     

成功返回后,这些函数返回的数量   打印的字符(不包括用于结束输出的空字节)   字符串)。

printf("This is")返回7,因此您的if条件成功。

答案 1 :(得分:3)

printf函数的返回类型是整数,它返回打印的字符数,包括空格 因此,如果条件将返回7,则打印内部的printf函数。并打印按摩This is
在if条件下,任何非零数字都表示为true,否则部分将不会执行。并打印按摩tricky question