下列程序的输出结果是________。 #include <iostream> using namespace std; int fun (int a, int b) { static int m, i=2; i+=m+1; m=i+a+b; return (m); } int main( ) { int k=4, m=1, p; p=fun(k, m); cout<<p<<','; p=fun(k, m); cout<<p<<endl; return 0; }
时间: 2024-02-05 21:02:29 浏览: 216
这段程序的输出结果是:10,18。
这是因为函数fun中定义了静态变量m和i,它们在每次调用fun函数时都不会被重新初始化。在第一次调用fun函数时,i的值会被加上m+1,m的值会被更新为i+a+b即2+4+1+1=8,最终函数返回m的值8+4+1=13。在第二次调用fun函数时,i的值会再次加上m+1,即i=2+8+1=11,m的值会被更新为i+a+b即11+4+1=16,最终函数返回m的值16+4+1=21。因此程序的输出结果为10,18。
相关问题
#include<iostream> #include<algorithm> using namespace std; int i=0; int fun(int n){ static int a=2; a++; return a+n; } int main(){ int k=5; { int i=2; k+=fun(i); } k+=fun(i); cout<<k; return 0; }
这段代码的输出结果为:10。
在代码中,首先定义了一个全局变量 i 并初始化为 0。然后定义了一个函数 fun,该函数的返回值为 a + n,其中 a 是一个静态变量,初始化为 2,每次调用函数时会自增 1。在主函数中,定义了一个局部变量 k 并初始化为 5。接着使用了一个代码块,定义了另一个局部变量 i 并初始化为 2,并将 fun(i) 的返回值加到了 k 上,此时 k 的值变为 9。接着又调用了一次 fun(i),此时传入的 i 仍然是主函数中定义的全局变量 i,而不是代码块中定义的局部变量 i,因此 fun 函数中的 a 仍然是 4,所以 fun(i) 的返回值为 7,将 7 加到 k 上,此时 k 的值变为 10。最后输出 k 的值。
功能:求10个数中大于平均值的数的个数。 C++函数。 例如:给定10个数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 #include <iostream> #include <fstream>using namespace std;int fun(int a[l,int n)
以下是求10个数中大于平均值的数的个数的C++函数实现:
```
#include <iostream>
using namespace std;
int fun(int a[], int n) {
int sum = 0;
double avg;
for (int i = 0; i < n; i++) {
sum += a[i];
}
avg = (double)sum / n;
int count = 0;
for (int i = 0; i < n; i++) {
if (a[i] > avg) {
count++;
}
}
return count;
}
int main() {
int a[10] = {1, 3, 6, 9, 4, 23, 35, 67, 12, 88};
int res = fun(a, 10);
cout << "大于平均值的数的个数为:" << res << endl;
return 0;
}
```
输出结果为:
```
大于平均值的数的个数为:3
```
阅读全文