下列4个函数中,( )能实现交换变量值的功能。
A.void fun_a(int x,int y) { int*p; *p=x;x=y;y=*p;}
B.void fun_b(int*x,int*y) { int*p: *x=*y;*y=*x;}
C.void fun_c(int*x,int*y) { *x=*x+*y; *y=*x-*y; *x=*x-*y;}
D.void fun_d(int x,int y) { int p; p=x;x=y;y=p; }
A.void fun_a(int x,int y) { int*p; *p=x;x=y;y=*p;}
B.void fun_b(int*x,int*y) { int*p: *x=*y;*y=*x;}
C.void fun_c(int*x,int*y) { *x=*x+*y; *y=*x-*y; *x=*x-*y;}
D.void fun_d(int x,int y) { int p; p=x;x=y;y=p; }
A.void fun_a(int x,int y) { int*p; *p=x;x=y;y=*p;}
B.void fun_b(int*x,int*y) { int*p: *x=*y;*y=*x;}
C.void fun_c(int*x,int*y) { *x=*x+*y; *y=*x-*y; *x=*x-*y;}
D.void fun_d(int x,int y) { int p; p=x;x=y;y=p; }
下列给定程序中,函数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);
}
在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为局部变量,所占空间在函数退出时释放。
A.调用过程Swap1可以实现交换两个变量值,而Swap2不能
B.调用过程Swap2可以实现交换两个变量值,而Swap1不能
C.调用过程Swap1和Swap2都可以实现交换两个变量值
D.调用过程Swap1和Swap2都不能实现交换两个变量值
下列程序段以函数swap()调用的形式实现两个变量值的互换,请填空完善程序。
swap(int*m,int*n)
{
inttemp;
temp-_____;
_____;
*n_____;
}
main()
{intxy;
scanf(“%d,%d”,&x,&y);
swap(_____);
printf(%d,%d",x,y);
}
假定有以下两个过程: Sub S1(ByVal x As Integer, ByVal y As Integer) Dim t As Integer t=K x=y y=t End Sub Sub S2(x As Integer, y As Integer) Dim t As Integer t=K x=y y=t End Sub 则以下说法中正确的是 ()
A.用过程S1可以实现交换两个变量值的操作,S2不能实现
B.用过程S2可以实现交换两个变量值的操作,S1不能实现
C.用过程S1和S2都可以实现交换两个变量值的操作
D.用过程S1和S2都不能实现交换两个变量值的操作
A.void funa(int *x , int *y) { *x=*x+*y;*y=*x-*y;*x=*x-*y; }
B.void funa(int x , int y) { int t; t=x;x=y;y=t; }
C.void funa(int *x , int *y) { int *p; *p=*x;*x=*y;*y=*p; }
D.int funa(int *x , int *y) { *x=*y;*y=*x; }
E.void funa(int *x , int *y) { int t = *x; *x = *y; *y = t; }
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!