2
#include<stdio.h>
int main()
{
printf("%d",printf("%d %d",2,2) & printf("%d %d",2,2));
}
輸出就這樣產生了:2 2 2 2 3
爲什麼printf在我的程序中輸出這個?
我想不通爲什麼輸出是這個樣子。有任何想法嗎?
#include<stdio.h>
int main()
{
printf("%d",printf("%d %d",2,2) & printf("%d %d",2,2));
}
輸出就這樣產生了:2 2 2 2 3
爲什麼printf在我的程序中輸出這個?
我想不通爲什麼輸出是這個樣子。有任何想法嗎?
printf
返回打印的字符數,所以這裏的解釋是:
printf("%d",printf("%d %d",2,2) & printf("%d %d",2,2));
\_________/ \_________________/ | \_________________/
| | | |
| prints "2 2" | prints "2 2"
| and returns 3 | and returns 3
| |
| computes 3 & 3
| (which equals 3)
|
prints "3"
我喜歡你的答案更好。 – GManNickG 2011-01-30 09:39:21