问题
填空题
下列程序输出的结果是______。 int m=17; int fun(int x,int y) { int m=3; return(x*y-m); } main() { int a=5,b=7; printf("%d\n",fun(a,b)/m); }
答案
参考答案:A
解析: 本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。 本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出 fun(a,b)/m=(5*7-3)/17=1。