问题 填空题

下列程序输出的结果是______。
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。

单项选择题
问答题 简答题