2010-11-16 81 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