[英]Confusion about the output
#include<stdio.h>
int main(void)
{
int i=1,j=-1;
if((printf("%d",i))<(printf("%d",j)))
printf("%d",i);
else
printf("%d",j);
return 0;
}
當printf()
返回成功打印的字符數時,條件將為if(1<1)
,該條件為false,但執行了if部分,輸出為1 -1 1
。 為什么會這樣呢?
我認為這很明顯:“ 1”是一個字符,“-1”是兩個字符。 一小於二。
因為打印j會打印“ -1”,所以這是兩個字符。 所以1 <2是正確的
對於-1
,如果滿足條件,則打印的字符數為2
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.