2010-11-16 80 views
1

可能重複:
Reason for the OutputC代碼會顯示什麼?

嗨,

能否請您解釋一下我這個代碼片段的輸出是什麼?答案是「d」

void main() 
{ 
short int a=5; 
clrscr(); 
printf("%d"+1,a); 
getch(); 
} 

謝謝。

+2

Duplicate:http://stackoverflow.com/questions/3880402/reason-for-the-output/3880411 – codaddict 2010-11-16 16:13:50

回答

5

"%d" + 1是指向"d"的指針,所以實際上您正在執行printf("d", a);

0

"%d"+1"d",因此輸出將是"d"

0

問題的一部分...

爲什麼沒有作家直接使用:

printf("d"); 

是不是一樣的嗎?

+0

和什麼顯示? – 2010-11-16 16:17:00

+0

嗯,我認爲它會顯示「d」而沒有引號......: -/ – Pacane 2010-11-16 16:21:37

+0

而你的問題的答案是:因爲這是一項家庭作業,學生應該證明他們理解指針和字符串文字, OP要我們爲他做功課。 – 2010-11-16 16:37:43