#include <stdio.h> int m=2; int fun(int x,int y) { int m=3; return(x*y-m); } void main()

{ int a=7, b=5;
printf("%d\n", fun(a,b)/m);

第1个回答  2011-05-31
有什么问题

等于16是对的啊。。
2个M。。一个是全局变量,一个是局部变量。。要理解变量的作用范围。在有同名局部变量时算局部变量。局部变量M=3在FUN函数执行完以后回收不再存在。。printf里面的M是全局变量M=2。。
第2个回答  2011-05-31
16~~~
fun(a,b)返回7*5-3=32
fun(a,b)=32/2=16;
局部变量屏蔽了全局变量。。。本回答被提问者采纳
第3个回答  2011-05-31
答案16,fun(7,5)=32, m=2, 32/2=16
相似回答