c语言用extern声明全局变量

img


想问问这个为什么会是5,25不是12,2不是没有传值吗为什么main里面的x和y都没有执行

已经执行过了,但你又执行了num函数把xy的值覆盖了啊

因为你用了extern关键字,直接修改了全局变量x,y
你在num函数运行之前先打印一下x和y的值就知道了

x,y是全局变量。显然你num函数调用在后啊,他会覆盖前面x和y的值