extern int x,y;声明num函数中使用的x和y是在别处定义的,当然这里就是在下面定义的。main函数会先修改x和y的值,通过x=a+b;y=a-b;然后再调用num函数。因为num函数也会修改x和y的值,所以main函数中对x和y的修改被覆盖了,不起作用。起作用的是num函数中的x=a-b;y=a+b;代入num函数中a、b的值,可算得x=4-3=1,y=4+3=7,所以选C。