计算机二级

以下程序运行后的输出结果是______。 main() { char a[]="ABCDEFGH",b[]="abCDefGh"; char*p1,*p2;int k; p1=a;p2=b; for(k=0;k<=7;k++) if*(p1+k)==*(p2+k))printf("%c",*(p1+k)); printf("\n"); }A.ABCDEFGB.CDGC.abcdefghD.abCDefGh

题目

以下程序运行后的输出结果是______。 main() { char a[]="ABCDEFGH",b[]="abCDefGh"; char*p1,*p2;int k; p1=a;p2=b; for(k=0;k<=7;k++) if*(p1+k)==*(p2+k))printf("%c",*(p1+k)); printf("\n"); }

A.ABCDEFG

B.CDG

C.abcdefgh

D.abCDefGh

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

第1题:

以下程序的输出结果是_[13]_______

#include <stdio.h>

#include <string.h>

char *fun(char *t)

{ char *p=t;

return(p+strlen(t)/2);

}

main()

{ char *str="abcdefgh";

str=fun(str);

puts(str);

}


正确答案:

efgh 

第2题:

以下程序的输出结果是【 】。includeincludechar*fun(char*t){ char *p=t;retur

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

include <stdio.h>

include <string.h>

char *fun(char *t)

{ char *p=t;

return (p+strlen(t)/2);

}

main()

{ char *str="abcdefgh";

str=ftm(str);

puts(str);

}


正确答案:
efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

第3题:

有以下程序:includevoid fun(char *a, char *b){ a=b;(*a)++;}main(){char c1='A',c2=

有以下程序: #include <stdio.h> void fun(char *a, char *b) { a=b; (*a)++;} main() { char c1='A',c2='a',*p1,*p2; p1=&c1; P2=&c2; fun(p1,p2); printf("%c%c\n",c1,c2); } 程序运行后的输出结果是( )。

A.Ab

B.aa

C.Aa

D.Bb


正确答案:A
解析:本题中fun函数的形参是两个指向字符型数据的指针,其功能是把b赋给a,然后将a所指存储单元里的变量值加1。在main函数中,p1里存放的是c1的地址,p2里存放的是c2的地址,经函数调用fun(p1,P2)后,p2的值赋给了p1,使p1和p2都指向了c2,而(*a)++又使'a'的值加1变成了'b',所以此时c2的值为'b',而c1的值没变,仍为'A'。程序改变的是p1的地址和c2的值。

第4题:

有以下程序:void fun (char *a,char *b){a=b;(*a)++;}main(){char cl='A',c2='a',*p1,*p2;p1=&am

有以下程序: void fun (char *a,char *b) { a=b;(*a)++;} main() { char cl='A',c2='a',*p1,*p2; p1=&c1;p2=&c2;fun (p1,p2); printf("%c,%c\n",c1,c2); } 程序运行后的输出结果是( )。

A.Ab

B.aa

C.Aa

D.Bb


正确答案:A
解析:经过分析得知fun()函数的功能:将形参a指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分别指向c1和c2。将p1、p2作为实参传递给形参a、b。在fun()函数中,首先让指针变量p1指向p2,然后p1指向的存储空间的值加1,即让变量c2加1为b,而c1的值没有被改变,仍然是A。所以,4个选项中选项A符合题意。

第5题:

以下程序的输出结果是【 】。includeincludechar*fun(char*0{ char *p--t;retur

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

include <stdio.h>

include <string.h>

char *fun(char *0

{ char *p--t;

return (p+strlen(t)/2);

}

main()

{ char *str="abcdefgh";

str=ftm(str);

puts(str);

}


正确答案:efgh
efgh 解析:本题考查的知识点是:字符指针。题目中的fun()函数,通过strlen()库函数得到形参t所指字符串的长度。然后返回t所指字符串首地址值加上该长度值的一半。所以fun()函数的作用就是返回所给字符串的中间位置。故最后通过puts()输出的字符串为"efgh"。

第6题:

以下程序的输出结果为()。includemain(){ char *alpha[6]={"ABCDEFGH","IJKL","MNOP","

以下程序的输出结果为( )。 #include<stdio.h> main() { char *alpha[6]={"ABCDEFGH","IJKL","MNOP","QRST","UVWX"}; char**p;int i; p=alpha; for(i=0;i<4;i++)printf(" %s" ,p[i]);printf("\n" );}

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOPQRST

D.AEIM


正确答案:C
解析:字符串数组中的每个元素是一个指向字符串的字符指针,可用一个指向指针的指针来指向一个字符串数组,题中p即为一个这样的指针,p[i]则指向了数组alpha的第i+1各元素。注意:用带下标的指针变量引用一维数组中的元素。

第7题:

以下程序运行后的输出结果是( )。

include

char*ss(char*s)

{char*p,t;

P=s+1;t=*s;

while(*p){ *(P-1)=*P;P++;}

*(P-1)=t;

return s;

}

main()

{char*p,str[10]="abcdefgh";

p=ss(str);

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

}


正确答案:bcdefgha
bcdefgha

第8题:

若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有以下程序段:

include <iostream>

using namespace std;

int main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;q++;

r=(char*)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是【 】。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

第9题:

以下程序的输出结果是 _[13]_______ .

#include <stdio.h>

#include <string.h>

char *fun(char *t)

{ char *p=t;

return(p+strlen(t)/2);

}

main()

{ char *str="abcdefgh";

str=fun(str);

puts(str);

}


正确答案: