有以下程序: include<iostream> using namespace std; int main() {intm[5],n[5],*px,*py,k;px=m

题目
有以下程序: include using namespace std; int main() {intm[5],n[5],*px,*py,k;px=m

有以下程序:

include <iostream>

using namespace std;

int main()

{

int m[5],n[5],*px,*py,k;

px=m;

py=n;

for(k=1;k<4;k++)

{

*px=k;

*py=2*k;

cout<<m[k-1]<<n[k-1];

px++;py++;

}

cout<<end1;

return 0;

}

运行后的输出结果为【 】。

参考答案和解析
正确答案:122436
122436 解析:本题考核数组与指针之间的相互关系。题中定义了两个指针 px.py并分别指向数组m和n,然后通过指针px.和py分别给数组m和n赋值,并输出其赋值结果。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

18、以下程序的运行结果是: #include <stdio.h> char *fun(char *px,char *py); void main() { printf("%s%s\n",fun("abc","abcd"),fun("1234","123")); } char *fun(char *px,char *py) { return (*px > *py? px : py); }

A.abcd1234

B.abc1234

C.abcd123

D.abc123


20 0 20 0

第2题:

5、下面程序的运算结果为()。 #include <stdio.h> void swap(char *px,char *py); void swap(char *px,char *py) { int t; t=*px; *px=*py; *py=t; } void main() { char a=3,b=5; swap(&a,&b); printf("%d,%d\n",a, b); }

A.3,5

B.3,3

C.5,3

D.5,5


6

第3题:

以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");}

以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }

A.5 4 3 2 1

B.0 1 2 3 4 5

C.1 2 3 4 5

D.5 4 3 2 1 0


正确答案:B
解析:本题考查函数的递归调用。fun函数共被调用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0),其中fun(5)是main函数调用的,其余是在fun函数中调用的。

第4题:

以下程序的输出结果是#include "stdio.h"int *fun(int *a,int *b){ int m; m=*a; m+=*b-3; return(&m);}main(){ int x=21,y=35,*a=&x,*b=&y; int *k; k=fun(a,b); printf("%d\n",*k);}


正确答案:53
本题考查指针函数的使用。题目给出的程序包括两个部分,一个为指针函数fun,一个为主函数main。主函数main部分给出两个整型变量x和y,并给出相应的赋值。main函数的执行结果为输出*k的值,而*k的值即*fun的值。fun函数包括两个整型指针形参*a和*b。通过对*a、*b进行操作,得到结果m,并将m值返回,整个程序的实际输出即为m的值。初始时,m=*a=21。随后令m=m+*b-3,得m=53。整个程序的输出结果即为53。

第5题:

有以下程序 include int fun(int (*s)[4],int n,int k) {int m,i;

有以下程序 #include <stdio.h> int fun(int (*s)[4],int n,int k) {int m,i; m=s[0][kl; for(i=1;i<n;i++) if(s[i][k]>m) m=s[i][k]; return m; } main() { int a[4][4]={{1,2,3,4},{11,12,13,14}, {21,22,23,24}, {31,32,33,34}}; printf("%d\n",fun(a,4,0)); } 程序的运行结果是______。

A.4

B.34

C.31

D.32


正确答案:C
解析:在主函数中,定义并初始化了4行4列的二维数组a,并通过调用fun函数,将fun函数中指向一维数组的指针变量s指向了二维数组a的首地址,使得指针变量s与数组a共用同一存储单元。在fun函数中,通过for循环,求得了数组a第0列中最大的值,并赋给m返回主函数。由于数组a第0列的值分别为1、11、21、31,故其最大值是31。

第6题:

有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r, &n

有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。

A.1,3

B.2,3

C.1,4

D.1,2


正确答案:A
解析:本题主要考查函数实参和形参之间的传递,C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只能由实参传绐形参,而不能由形参传回来给实参。f(r&n)把n的地址传递给q,通过地址传递的函数可以有返回值,因此,n的值为q的返回值3,又因为p是形参变量没有返回值,所以m的值没有改变,因此,选项A是正确的。

第7题:

以下程序的输出结果是()。includemain(){int m=5;if(m++>5)cout<

以下程序的输出结果是( )。 #include<iostream.h> main() { int m=5; if(m++>5) cout<<m; else cout<<m--; }

A.7

B.6

C.5

D.4


正确答案:B

第8题:

有如下程序: include using namespace std; class Pair{ int m, n; public: Pair(int

有如下程序:

#include<iostream>

using namespace std;

class Pair{

int m, n;

public:

Pair(int j, int k):m(j), n(k){}

int get(){return m;}

int get()const{return m+n;)

};

int main() {

Pair a(3, 5);

const Pair b(3, 5);

cout<<a. get()<<b. get();

return 0;

}

运行时的输出结果是( )。

A) 33

B) 38

C) 83

D) 88

A.

B.

C.

D.


正确答案:B

第9题:

该程序运行的结果是( )。

#include

#include

#define M 100

void fun(int m, int *a, int *n)

{ int i,j=0;

for(i=1;i<=m;i++)

if(i%7==0||i==0)

a[j++]=i;

*n=j;}

main()

{ int aa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k

if((k+1) ==0)printf("\n");

else printf("M",aa[k]);

printf("\n");}


正确答案:
7