预测以下C程序的输出:
#include
int main()
{
int i = 2, j = -2;
if((printf("%d", j)) < (printf("%d", i)))
printf("%d", i);
else
printf("%d", j);
return 0;
}
(A) 2-22
(B) -22-2
(C) 222
(D)编译错误答案: (B)
说明:我们知道printf()返回其打印的字符数。因此,printf(“%d”,j)将返回-2和换行符,即3个字符,而printf(“%d”,i)将返回2和换行符,即2。因此,如果语句看起来像(3> 2),则是错误的。因此,在if条件下,执行else块,然后执行printf()语句。
这个问题的测验
如果您在以上帖子中发现任何错误,请在下面发表评论