函数的功能是交换变量 x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是______。
A.fund(int *x, int *y){ *x=*x+*y; *y=*x-*y; *x=*x-*y;}
B. funb(int x, int y){ int t;t=x; x=y; y=t;}
C. funa(int *x, int *y){ int *p;*p=x; *x=*y; *y=*p;}
D. func(int *x, int *y){ *x=*y; *y=*x;}
A.fund(int *x, int *y){ *x=*x+*y; *y=*x-*y; *x=*x-*y;}
B. funb(int x, int y){ int t;t=x; x=y; y=t;}
C. funa(int *x, int *y){ int *p;*p=x; *x=*y; *y=*p;}
D. func(int *x, int *y){ *x=*y; *y=*x;}
第1题
下列给定程序中,函数fun()的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,b中的值原为3,程序运行后a中的值为3, b中的值为8。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include<conio.h>
include <stdio.h>
int fun(int *x,int y)
{
int t;
/***************found***************/
t=x;x=y;
/***************found***************/
return(y);
}
main()
{int a=3,b=8;
clrscr();
printf("%d %d\n",a, b);
b=fun(&a,b);
printf("%d %d\n" ,a,b);
}
第2题
主调函数中的两个变量a和b,要求调用函数交换a、b值,返回交换结果,则以下正确的函数是______。
A.funa(int*x,int*y) { int*p; *p=*x;*x=*y;*y=*p; }
B.funb (int x,int y) {int t;t=x;x=y;y=t;}
C.func(int *x,int*y) {*X=*y;*y=*x;}
D.fund(int *x,int *y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}
第3题
主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。
A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }
B.funb(int x,int y) {int t; t=x;x:y=y=t;}
C.func(int*x,int*y) {*x=*y;*y=*x;}
D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}
第4题
第5题
在C语言中,定义一个函数 f1如下:
f1(intx,int y)
4
{
static int count=0;
int temp;
temp=x;
x=y;
y=temp;
count++;
}
则下列叙述正确的是()。
A.变量count为全局变量, temp为局部变量。
B.x,y属于函数的形式参数。
C.变量count,temp均为局部变量。
D.函数的功能是实现两个变量值的交换。
E.函数的默认返回值类型为 int,函数没有返回任何值。
F.变量count,temp为局部变量,所占空间在函数退出时释放。
第8题
A.把x和y按从小到大排列
B.把x和y按从大到小排列
C.无确定结果
D.交换x和y中的值
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!