有以下程序:#include<stdio.h>void swap1(int c[]){int t; t=c[0]; c[0]=c[1]; c[1]=t;}void swa

题目
有以下程序:includevoid swap1(int c[]){int t; t=c[0]; c[0]=c[1]; c[1]=t;}void swa

有以下程序: #include <stdio.h> void swap1(int c[]) { int t; t=c[0]; c[0]=c[1]; c[1]=t; } void swap2(int c0,int c1) { int t; t=c0; c0=c1; c1=t; } main() { int a[2]={3,5},b[2]={3,5}; swap1(a); swap2(b[0],b[1]); printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]); } 其输出结果是( )。

A.5 3 5 3

B.5 3 3 5

C.3 5 3 5

D.3 5 5 3

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

第1题:

1、按下列中断优先顺序排列,有可能实现的有()。

A.T1、T0、INT0、INT1、串行口

B.INT0、T0、INT1、T1、串行口

C.INT0、INT1、串行口、T0、T1

D.INT1、串行口、TO、INTO、T1


T1、T0、 、串行口

第2题:

处于同一级别的5个中断源同时请求中断时,CPU响应中断的次序为 。

A.串行口、T1、INT1、T0、INT0

B.INT0、T0、INT1、T1、串行口

C.串行口、INT1、T1、INT0、T0

D.T0、INT0、T1、INT1、串行口

E.INT1、T0、T1、串行口


INT0、T0、INT1、T1、串行口

第3题:

当中断优先级寄存器IP=00010000B时,8051单片机响应中断的顺序为()。

A./INT0, T0, /INT1, T1, 串行口

B.T0, /INT0, /INT1, T1, 串行口

C./INT1, /INT0, T0, T1, 串行口

D.串行口, /INT0, T0, /INT1, T1


第4题:

若MCS-51的所有中断源均处于同一优先级,则它们按自然优先级从高到低的顺序是()

A.INT0、T0、INT1、T1、串行口

B.T0、INT0、T1、INT1、串行口

C.T0、T1、INT0、INT1、串行口

D.INT0、T0、INT1、T1


INT0 、 T0 、INT1 、 T1 、串行口

第5题:

以下程序的输出结果是( )。 include void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main

以下程序的输出结果是( )。 include<stdio.h> void swap(int*a,int*B){int*t; t=a;a=b;b=c;} main() {int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf("%d %d\n",*p,*q); }


正确答案:3 5
3 5 解析:本题考查函数中形参和实参的传递。在C语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然swap函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为3 5。

第6题:

请选出以下程序的输出结果()。includesub(int *s,int y){static int t=3; y=s[t];t--;}

请选出以下程序的输出结果( )。 #include <stdio.h> sub(int *s,int y) { static int t=3; y=s[t];t--; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x); } printf("\n"); }

A.1234

B.4321

C.0

D.4444


正确答案:C
解析:本题考查函数的形参和实参的关系。函数sub将实参x的值传给形参y,y值的改变不能使x的值发生改变,所以输出的x值始终为0。

第7题:

请选出以下程序的输出结果_______。 includesub(int*s,inty){ static int t=3,y=s[t];t

请选出以下程序的输出结果_______。 #include<stdio.h> sub(int*s,inty) { static int t=3, y=s[t];t-; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++){ sub(a,x);printf("%d",x);} printf("\n"); }

A.1234

B.4321

C.0

D.4444


正确答案:C
解析:x作为函数sub()的实参时,函数对x值的改变没有返回主函数,并不能使得x的值变化,所以在打印时,x的值是始终不变的,即为0。

第8题:

有以下程序: include void swap1 (int c0[],int e1[] ){intt;t = c0[0]; c0[0]: c1 [

有以下程序: #include <stdio, h>void swap1 (int c0[],int e1[] ){ int t; t = c0[0]; c0[0]: c1 [0] ; c1 [0] = t;}void swap2(int * c0,int * c1){ int t; t= *c0; *c0= *c1; * c1 =t;}main( ){ inta[2]={3.5}.b[2]={3,5}; swapl(a,a+1) ;swap2(&b[0],&b[1]); printf("% d %a %d %d \n" ,a[0] ,a[1] ,b[0] ,b[1] ); }程序运行后的车出结果是( )。

A.3 5 5 3

B.5 3 3 5

C.3 5 3 5

D.5 3 5 3


正确答案:D
解析:函数swap1,swap2的功能均为交换两个数。main函数调用swap1(a,a+1);使得数组a的首地址赋给形参c0[],a[1]的首地址赋给形参c1[],故交换c0[0]与c1[0]后,a[0]与a[1]的值也发生了变化;函数调用swap2(&b[0],&b[1]);的功能也一样,使指针变量c0指向了b[0]存储单元,c1指向了b[1]存储单元,并在swap2函数中进行了交换,所以b[0],b[1]的值也发生变化,故本程序输出的结果是5353。

第9题:

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i

有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4

A.0987654321

B.4321098765

C.5678901234

D.0987651234


正确答案:C
解析: 函数fun(int*s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。