下列程序的输出结果是______。#includemain(){char *a="abcdefghi";int k; fun(a);puts(a);}fun(c

题目

下列程序的输出结果是______。#includemain(){ char *a="abcdefghi";int k; fun(a);puts(a);}fun(char*s){ int x,y;char c; for(x=0,y=strlen(s)-1;x<y;x++,y--) { c=s[y];s[y]=s[x];s[x]=c;}}

A.ihgfsdcba

B.abcdcfghi

C.abcdedeba

D.ihgfefghi

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

第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题:

以下程序的输出结果是()。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题:

下面程序输出的结果是()。includemain(){char *a="1234";fun(a);printf("\n");}fun(cha

下面程序输出的结果是( )。 #include<stdio.h> main() { char *a="1234"; fun(a); printf("\n"); } fun(char *s) { char t; if(*s) { t=*S++;fun(s);} else return; if(t!='\0') putchar(t); }

A.1234

B.4321

C.1324

D.4231


正确答案:B
解析:本题的fun()函数是用递归法实现逆序输出一个字符串。函数中首先定义一个局部变量t,然后s所指的内容是否为字符串结束符,不是的话将s所指的内容赋给t,同时使s后移一位,然后递归调用fun(s)。到这条语句为止是递归过程,即接下来连续递归调用fun(s)都只会执行到这一半,直到回朔条件(s所指内容是字符串结束符)出现,fun()函数连续返回,判断t不等于0的话,就输出t,所以输入的字符串被逆序输出,故本题的正确答案应该是B。

第5题:

以下程序的输出结果是______。 include main() { char*a="abcdefghi";int k fun(a);p

以下程序的输出结果是______。 #include <string.h> main() { char*a="abcdefghi";int k fun(a);puts(a); } fun(char*s) { int x,y; char c for(x=0,y=strlen(s)-1;x<y:x++,y--) {c=s[y];s[y]=s[x];s[x]=c;} }

A.ihgfedcba

B.abcdefghi

C.abcdedeba

D.ihgfefghi


正确答案:A

第6题:

以下程序的输出结果是_______。includemain(){char*a="abcdefghi";int k;fun(a) ;puts

以下程序的输出结果是_______。 #include<string.h> main() {char*a="abcdefghi";int k; fun(a) ;puts(a) ; } fun(char *s) { int x,y; char c; for(x=0,y=strlen(s)-1; x<y; x++,y--) { c=s[y]; s[y]=s[x];s[x]=c;} }

A.ihgfedcba

B.abcdefghi

C.abcdedcba

D.ihgfefghi


正确答案:A
解析:观察子函数fun()可知,它是实现—个数组首末元素位置互相依次交换。联系主函数,可以看出,是对字符串中的元素依次进行首末位置的对调。

第7题:

有以下程序includemain(){int*p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p)

有以下程序 #include<stdio.h> main() { int *p,j; p=NULL p=fun(); for(j=0;j<4;j+){printf("%d",*p);p++;} } int*fun() { int a[4],k; for(k=0;k<4;k++)a[k]=k; return(A) ; } 程序运行后的输出结果是( )

A.程序有错不能运行

B.输出4个NULL

C.输出0 1 2 3

D.输出1 1 1 1


正确答案:A

第8题:

以下程序的输出结果是【 】。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"。

第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);

}


正确答案: