函数名其实就是一个地址,就是这个函数所在的地址,你的语句printf( "s=%d\n", sum ) ; 打印的就是这个地址,而不是函数的返回结果,所以一点都不诡异你要是想打印sum函数的结果,应该是printf( "s=%d\n", sum(x, y) ) ;