有以下程序#include<stdio.h>intfun(int a,intB){if(b=0)return a;elsereturn(fun(--a,--B));}ma

题目
有以下程序includeintfun(int a,intB){if(b=0)return a;elsereturn(fun(--a,--B));}ma

有以下程序 #include<stdio.h> intfun(int a,intB){if(b=0)return a; else return(fun(--a,--B)); } main() {pdntf("%d\n",fun(4,2));} 程序的运行结果是( )。

A.1

B.2

C.3

D.4

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序includeusing namespace std;int a;int fun();int main(){extern int a;in

有以下程序 #include<iostream> using namespace std; int a; int fun(); int main() { extern int a; int b; a=100; b=fun(); cout<<b<<endl; return 0; } int fun() { extern int a; return(10*a); } 其程序运行后的输出结果是( )。

A.100

B.10

C.1000

D.10000


正确答案:C

第2题:

有以下程序:includeint fun(int*k){int b=0;b=*k+b:return(B);}main(){int a[10]={1,2

有以下程序: #include<stdio.h> int fun(int*k) {int b=0; b=*k+b: return(B);} main() {int a[10]={1,2,3,4,5,6,7,8},i; for(i=2;i<4;i++){printf("%d",fun(&a[i]));} printf("\n"); } 程序运行后的输出结果是( )。

A.10 12

B.8 10

C.3 4

D.10 28


正确答案:C

第3题:

有以下程序:includeint fun(int x,int y){if(x==y)return(x);else return((x+y)/2);}m

有以下程序: #include<stdio.h> int fun(int x,int y) {if(x==y)return(x); else return((x+y)/2); } main() {int a=1,b=2,c=3; printf("%d\n",fun(2*a,fun(b,C))); } 程序运行后的输出结果是( )。

A.2

B.3

C.4

D.5


正确答案:A

第4题:

有以下程序 include include int fun(int n) {int *

有以下程序 #include <stdio.h> #include <stdlib.h> int fun(int n) {int *p; p=(int*)malloc(sizeof(int)); *p=n; return *p; } { int a; a=fun(10); printf("%d\n",a+fun(10)); } 程序的运行结果是______。

A.0

B.10

C.20

D.出错


正确答案:C
解析:malloc(sizeof(int))的作用是开辟一个长度为sizeof(int)存储空间,并通过强制类型转换(int*)将此存储空间的地址赋给了—个整型的指针变量p。然后执行语句“*p=n”,使得*p的值为10,并通过返回此值,在主函数中输出a+10的值,即输出20。

第5题:

有以下程序 include int fun(int a, int b) { if(b==0) return a;

有以下程序 #include <stdio.h> int fun(int a, int b) { if(b==0) return a; else return(fun(-a,-b)); } main() { printf("%d\n",fun(4,2)); } 程序的运行结果是______。

A.1

B.2

C.3

D.4


正确答案:B
解析:在调用一个函数的过程中又出现直接或间接调用该函数本身,称为函数的递归调用。本题考查的是函数递归调用。首先当a=4,b=2时,调用fun(4,2),不满足条件b==0,继续调用fun函数;此时a=3,b=1,即调用fun(3,1),不满足条件b=0,继续调用fun函数;此时a=2,b=0,满足条件b=0,返回a的值2。

第6题:

有以下程序:includeint fun(int x,int y){if(x!=y)return(y);else return((x+y)/2);}ma

有以下程序: #include<stdioh> int fun(int x,int y) {if(x!=y)return(y); else return((x+y)/2); } main() {int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,C))); } 程序运行后的输出结果是( )。

A.3

B.6

C.8

D.12


正确答案:B

第7题:

有以下程序:includeusing namespace std;int a;int fun();int main(){externint a;in

有以下程序: #include<iostream> using namespace std; int a; int fun(); int main() { externint a; int b; a=10; b=fun(); cout<<b<<end1; return 0; } int fun() { extern int a; return(10*a); } 其程序运行后的输出结果是( )。

A.10

B.1

C.100

D.1000


正确答案:C
解析:由主函数main入手,首先定义外部变量a,它的作用域为从变量的定义处开始,到本程序文件的末尾,赋值为10。然后调用fun函数,在fun函数中计算10*a,其中a的作用域为到文件结尾,所以这里的a为10,即10*10。

第8题:

有以下程序:includeusing namespace Std;inta;int fun();int main(){ externinta; in

有以下程序: #include <iostream> using namespace Std; int a; int fun(); int main() { extern int a; int b; a = 100; b = fun(); cout<<b<<end1; return 0; } int fun() { extern int a; return (10*A); } 其程序运行后的输出结果是( )。

A.100

B.10

C.1000

D.10000


正确答案:C
解析:本题考核外部变量的使用。先来了解外部变量:外部变量用关键词extern表示。由于外部变量可以被程序中的所有函数共同访问,其作用域为全局,因此也称为全局变量。对于外部变量而言,“定义变量”和“说明变量”是两个不同的概念。定义a为外部变量是告诉编译程序,a是一个外部变量,并要求系统为a分配一个固定的永久存储空间。a的值在整个程序的运行期间都存在,只有当定义它的程序运行结束时,它的存储空间才释放。外部变量定义后,当程序中的函数要引用外部变量时,应在函数中作引用说明。在此程序中,在第二行定义了一个外部变量a,主函数给外部变量赋的初始值为100,当调用函数fun()时,外部变量a的值传到函数fun()中,因此函数所返回的值为100*10=1000。

第9题:

有以下程序:includefun(int a, int b){if(a>b) return(a); elsereturn(b);}main(){int

有以下程序: #include <stdio.h> fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } 程序运行后的输出结果是( )。

A.3

B.6

C.8

D.12


正确答案:D
解析:本题考查函数的返回值。fun函数的功能是比较a,b的值,返回其中较大者。对于main函数中的语句r=fun(fun(x,y),2*z);是先调用fun(x,y)返回8,再将8和12作为实参调用函数fun,得到的返回值为12。