[c语言] 我写了一段代码,想验证if语句中的( )内如果有其他语句该如何判断。结果很费解。谁来解释解释。。

# include<stdio.h>
int main(void)
{
if (printf("haha\n") )
printf ("这玩意有值,但不是0,所以为真。\n");
else
printf ("这个玩意本身没有值,或者值为0,所以是假的\n");

return 0;
}
/*

运行结果为:
haha
这玩意有值,但不是0,所以为真。
Press any key to continue

那么( printf( ) )的值到底是多少呢??????请回答。。。解释清楚一点please。。

*/

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编程时经常会用到此函数。
函数的原型为:int printf(const char *format, ...); 函数返回值为整型。
若成功则返回输出的字符数,输出出错则返回负值。

你这里的话,printf()的值为5追问

为什么是5呢。。。 可否给个参考文献或者链接?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-09
查一下msdn嘛
第2个回答  2011-12-09
是true!