计算机二级

现有如下程序段#include "stdio.h"int *fun(int *a,int *b){int c;c=*a%*b;return &c;}main(){int a=5,b=19,*c;c=fun(&a,&b);printf("%d\n",++*c);}则程序段执行后的结果为A.8B.7C.6D.5

题目

现有如下程序段

#include "stdio.h"

int *fun(int *a,int *b)

{int c;

c=*a%*b;

return &c;}

main()

{int a=5,b=19,*c;

c=fun(&a,&b);

printf("%d\n",++*c);}

则程序段执行后的结果为

A.8

B.7

C.6

D.5

参考答案和解析
正确答案:C
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读下面程序,则程序的执行结果为 【10】 。

#include "stdio.h"

main()

{ int a=10;

fun(a);

printf( "%d\n",a);}

fun(int x)

{ x=50;}


正确答案:
10

第2题:

现有如下程序段,则程序段的输出结果为 【16】 。

#include "stdio.h"

int fun()

{static int k;

return k;}

main()

{int m;

m=fun();

printf("%d\n",m);}


正确答案:
0

第3题:

阅读下面程序,则程序的执行结果为 【10】 。

#include "stdio.h"

main()

{int a=30,b=20,z;

z=fun(a+b,a-b);

printf("%d\n",z);

}

fun(int a,int b)

{int z;

z=a/b;

return z;

}


正确答案:
5

第4题:

以下程序的输出结果是【 】。include defineN 5 int fun(int *s,int a,int n) {int j; *s=

以下程序的输出结果是【 】。

include <stdio.h>

define N 5

int fun(int *s,int a,int n)

{ int j;

*s=a j=n;

while(a!=s[j]) j-;

return j;

main()

{ int s[N+1]; int k:

for(k=1 ;k<=N;k++) s[k]=k+1:

print f("%d\n",fun(s,4,N));

}


正确答案:3
3 解析:本题主函数中定义了一个一维数组s,并通过for循环给s[1]到s[5]的元素分别赋值为2、3、4、5、6。然后调用 fun函数,使指针变量s与数组s共用同一存储单元。在函数fun中,a=4,n=5,所以while的条件表达式首先判断的是 4!=s[5]是否成立,由于s[5]=6,所以成立,执行j-;接着判断4!=s[4]是否成立,由于s[4]=5,所以成立,执行j-;然后判断4!=s[3]是否成立,由于s[3]=4,所以条件表达式不成立,返回j的值3。

第5题:

现有如下程序段

#include "stdio.h"

int aa(int x,int y);

main()

{int a=24,b=16,c;

c=aa(a,b);

printf("%d\n",c);}

int aa(int x,int y)

{int w;

while(y)

{w=x%y;

x=y;

y=w;}

return x;}

则程序段的输出结果是

A.8

B.7

C.6

D.5


正确答案:A

第6题:

阅读下面程序,则程序执行后的结果为

#include "stdio.h"

main()

{int a=4,b=6,c=7;

double d,fun(int,int,int);

d=fun(a,b,c);

printf("%lf\n",d);}

double fun(int a,int b,int c)

{double s;

s=a%b*c;

return s;}

A.27

B.27.000000

C.28

D.28.000000


正确答案:D

第7题:

现有如下程序段

#include "stdio.h"

int fun(int k,int *m)

{if(k%3)*m=k*k;

else *m=k/3;}

main()

{ int (*p)(int,int *),m;

p=fun;

(*p)(78, &m);

printf( "%d\n",m);}

则程序段的输出结果为

A.24

B.25

C.26

D.27


正确答案:C

第8题:

阅读下面程序段,则执行后输出的结果是

#include "stdio.h"

main()

{ char fun(char,int);

char a=′A′;

int b=13;

a=fun(a,b);

putchar(a);}

char fun(char a,int b)

{char k;

k=a+b;

return k;}

A.A

B.M

C.N

D.L


正确答案:C

第9题:

阅读下面程序,则程序的执行结果为( )。 include"stdio.h" main() {int a=10; fun(A); printf("%d\n",A);} fun(int x) {x=50;}


正确答案:10
10

第10题:

以下程序的运行结果是______。includemain(){ int fun();fun();}fun(){static int a[3]=

以下程序的运行结果是______。

include<stdio.h>

main()

{ int fun();fun();}

fun()

{static int a[3]={0,1,2};

int i;

for(i=0;i<3;i++)a[i]+=a[i];

for(i=0;i<3;i++)printf("%d,",a[i]);

pfintf("\n",);}


正确答案:
本题主要考查for循环语句的使用以及静态局部变量的特点。

更多相关问题