有以下程序,请填空。 int m1(int x,int y) { return x<=y?x:y; } int m2(int x,int y) { return x<=y?y:x; } int fun(int a,int b) { return a+b; } main() { int x=2,y=3,z=1; printf(“%d\n”,fun(m1(x,y),m2(y,z))); } 1.函数 m1 的功能是 ① 2.函数 fun 的功能是 ② 3.程序的输出结果是
时间: 2024-02-29 20:57:17 浏览: 150
1. 函数 m1 的功能是返回 x 和 y 中的较小值。
2. 函数 fun 的功能是将两个参数相加并返回结果。
3. 程序的输出结果是 5。解释如下:
- m1(x, y) 返回 2,m2(y, z) 返回 3,所以 fun(m1(x, y), m2(y, z)) 返回 5。
- 因此,程序输出 5。
相关问题
下面程序三次调用同一函数sum, 使输出结果为: S = 2 S = 5 S = 9 请填空。 #include <iostream> using namespace std; void sum(int i) { static int s; ___; cout << "S=" << s << endl; } int main() { int i; for (i = 0; ___) sum(i); } 空1
空1应填入 `s += i`,表示将i累加到静态变量s中。
完整代码如下:
```c++
#include <iostream>
using namespace std;
void sum(int i) {
static int s;
s += i;
cout << "S=" << s << endl;
}
int main() {
int i;
for (i = 0; i <= 2; i++) sum(i);
return 0;
}
```
输出结果为:
```
S=0
S=1
S=3
```
12.必答[填空题] int a=1,b=2,c;c=a+=b,1; 请问c变量的值是多少? (进阶) 13.必答[填空题]设int x=1.y=2,a=3;有三目运算符: a=6?x++:y++; 请问运算结束后a变量的值是多少? (进阶)
12. 这道题是关于运算符优先级的问题。在这里,赋值运算符“=”的优先级高于逗号运算符“,”。所以这条语句的执行顺序是从右到左,首先执行a=b,然后把这个表达式的结果1赋值给c。因此,a和b都被赋值为2,而c的值为1。
13. 这条语句包含了条件运算符“? :”,也称为三元运算符。它的基本形式是:条件表达式 ? 表达式1 : 表达式2。如果条件表达式的值为真,则返回表达式1的值,否则返回表达式2的值。在这里,如果a的值等于6,则x的值为3,否则y的值为2。因此,最终的结果取决于a的值。无论最终结果是x还是y,都不会对a的值产生影响,因为a没有在条件运算符中使用。所以a的值仍然为3。
阅读全文