下面程序的运行结果是 C 。
int a=3,b=5;
max(int a, int b)
{int c;
c=a>b?a:b;
return(c);
}
main()
{int a=16;
printf(“%d\n”,max(a,b));
}
(59) A、3 B、5 C、16 D、语法错
麻烦给出详细解答步骤
这道C语言题如何理解
答案:2 悬赏:40 手机版
解决时间 2021-05-04 10:19
- 提问者网友:愿为果
- 2021-05-04 01:24
最佳答案
- 五星知识达人网友:轮獄道
- 2021-05-04 02:34
int a=16;//定义局部变量a赋值为16 (全局变量 a 的值还为 3 )
printf(“%d\n”,max(a,b));//此处a 是局部变量,值为 16 ;
所以 运行结果是 C。
若
printf(“%d\n”,max(::a,b));//此处a 是全局变量,值为 3 ;
这时 运行结果是5 ,选 B 。
其它解释同楼上.
全部回答
- 1楼网友:从此江山别
- 2021-05-04 03:23
int a=3,b=5;//定义全局变量a,b并赋值 max(int a, int b)//判断a,b最大值函数 {int c;//定义返回值c c=a>b?a:b;//将a,b值中最大者赋予c return(c);返回最大值c } main()//主函数 {int a=16;//重新给全局变量a赋值为16 printf(“%d\n”,max(a,b));//调用取最大值函数并输出结果。 }
我想楼主看完注释应该明白为什么选C了吧。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯