以下程序的输出结果是( )。voidmain(void){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}

题目
以下程序的输出结果是( )。voidmain(void){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf(“%d\n”,*p+*q);}

A.16

B.10

C.8

D.6

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

第1题:

有以下程序: void fun1(char*p) {char*q; q=P; while(*q!='\0') { (*q)++;q++;} } main() {char a[]={"Program"),*p; p=&a[3];funl(p);printf("%s\n",A); } 程序执行后的输出结果是( )。

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program


正确答案:A
解析:函数funl()实现的功能为将实参p所指的字符串顺序按位加1,而实参p通过“p=&a[3];”指向字符串数组a[]中的gram,敞输出结果为Prohsbn。

第2题:

以下程序的输出结果是 ( ) main( ) { int a [10] = {1,2,3,4,5,6,7,8,9,10,},*p=a; printf("%d\n",* (p+2)); }

A.3

B.4

C.1

D.2


正确答案:A

第3题:

有以下程序

void fun1(char *p)

{ char *q;

q=p;

while(*q!='\0')

{ (*q)++; q++; ) }

}

main()

{ char a[]={"Program"),*p;

p=&a[3];fun1(p);printf(" % s\n",a);

}

程序执行后的输出结果是

A)Prohsbn

B)Prphsbn

C)Progsbn

D)Program


正确答案:A
(37)A) 解析 : (*q)++ 是 q 所指的字符加 1,q++ 就是指针移到下一个字符。

第4题:

以下程序的输出结果是______。include void swap(int *a, int *b){ int *t;}{ int i=3,j

以下程序的输出结果是______。

include <stdio.h>

void swap(int *a, int *b)

{ int *t;

}

{ int i=3,j=5,*p=&i,*q=&j;

swap(p,q); printf("%d %d\n",*p,*q);


正确答案:

第5题:

有以下程序:

void funl(char*p)

{ char*q;

q=P;

while(*q!='\O')

{(*q)++;q++;}

}

main

{ char a[]={"Program"),*P;

p=&a[3];funl(p);

printf("%s\n",a);

}

程序执行后的输出结果是( )。

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program


正确答案:A
本题中使用了函数的调用,由{unl函数中的while循环可知,循环的作用是为了把q所指向的内容增加l,而从主函数传到函数时是从下标为3开始传,因此当调用函数执行完后,传过去的字符串为'hsbn',前面不变。

第6题:

(27)有以下程序

#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

第7题:

下面程序的输出结果是

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

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

A.3

B.4

C.1

D.2


正确答案:A
解析:在C语言中,数组元素是从0开始的。指针变量p指向数组的首地址,(p+2)就会指向数组中的第3个元素。题目中要求输出的是元素的值。

第8题:

有以下程序main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=printf(“%d\n“,*p+*q);}程序运行后的输出结果是()

A、16

B、10

C、8

D、6


参考答案:B

第9题:

下列程序的输出结果是【 】。include void swap(int *a, int *B) { int *t; t=a;a=b;b=t;

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

include <stdio.h>

void swap(int *a, int *B)

{

int *t;

t=a;a=b;b=t;

}

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。

第10题:

有以下程序:includemain(){int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2;

有以下程序: #include <stdio.h> main() { int a [10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], *q=p+2; prinff("%d\n";*p+*q); } 程序运行后的输出结果是( )。

A.16

B.10

C.8

D.6


正确答案:B
解析:由变量的定义可知,指针变量p初始化为&a[3],即*P的值为4;指针变量q初始化为p+2,即&a[3]+2,所以*q的值为6,*p+*q的值为10。

更多相关问题