下列程序输出的结果是______. int m=17; int fun(int x,int y) { int m=3; return(x*y-m); }

admin2010-09-05  22

问题 下列程序输出的结果是______.
        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);
        }

选项

答案1

解析 本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。
   本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在 fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出fun(a,b)/m=(5*7-3)/17=1。
转载请注明原文地址:https://kaotiyun.com/show/bKWp777K
0

最新回复(0)