首先,4是常量(且有地址),但在C语言中规定了&只能对变量使用,对常量使用&是没有定义的(也就是说没规定这样的操作是什么意义),所以结果是未知的,有的编译器认定为错,有的认定为对,但是给出的结果也不是你想要的(给出的并不是常量的地址)。