如果要编译并执行以下c语句,将输出什么?
if(printf("This is"))
printf(" tricky question");
输出为
This is tricky question
答案 0 :(得分:4)
printf的文档解释了为什么会发生这种情况
返回值
成功返回后,这些函数返回的数量 打印的字符(不包括用于结束输出的空字节) 字符串)。
printf("This is")
返回7,因此您的if
条件成功。
答案 1 :(得分:3)
printf函数的返回类型是整数,它返回打印的字符数,包括空格
因此,如果条件将返回7,则打印内部的printf函数。并打印按摩This is
在if条件下,任何非零数字都表示为true,否则部分将不会执行。并打印按摩tricky question