下列程序的输出结果是______。char*fun(char*str,int n){int i;char*p=str;for(i=0;i<10;i++,str+

题目

下列程序的输出结果是______。 char*fun(char*str,int n) { int i; char*p=str; for(i=0;i<10;i++,str++) *str='a'+i; return++p; } main() { char a[10]; printf("%s\n",fun(a,10)); }

A.ABCDEFGHIJ

B.abcdefghij

C.bcdefghij

D.不确定的值

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

第1题:

下列程序的输出结果是______。 include int CalcDigital(char*str) { if(str= =NULL)

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

include<iostream.h>

int CalcDigital(char*str)

{

if(str= =NULL)

return 0;

int num_of_digital=0;

for(int i=0;str{i]!=0x0;i++)

if(str[i]<='9'&& str[i]>='0')

num_of_digital++;

return num_of_digital;

}

void main( )

{

char a[]="Beijing20080lympic";

cout<<CalcDigital(a)<<endl;

}


正确答案:4
4 解析:分析本题可知函数功能为计算一个字符串中包含的数字个数。字符串中包含的数字有2008,故输出为4。

第2题:

阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

#include <stdio.h>

#include <ctype.h>

#include <string.h>

int fun (char *str)

{ int i,j=0;

for(i=0;str[i]!=′ \0′;i++)

if(str[i]!=′ ′)str[j++]=str[i];

str[j]= ′\0′;

}

main()

{

char str[81];

int n;

printf("Input a string : ");

gets(str);

puts(str);

fun(str);

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

}

A.asdafaaz67

B.asd af aa z67

C.asd

D.z67


正确答案:A
解析:本题题意要求删除所有空格,即除了空格以外的其他所有字符都要留下。由于C语言中没有直接删除字符的操作,所以我们对于删除字符的操作都是采用"留下"字符的算法,以前的题目亦是如此。用str[i]从串头到串尾逐一走动,每走到一个字符都判断其是否为空格,若不是空格(注意在if()的单引号之间有一个空格),则将其保存str[j]中。注意j的下标变化、初值及最后加串结束符'\0'。

第3题:

阅读下列程序,当运行程序时,输入asd af aa z67,则输出为()。includeint fun (char *str

阅读下列程序,当运行程序时,输入asd af aa z67,则输出为( )。 #include <sldio.h> int fun (char *str) { int i,j=0; for(i=0;str[i]! ='\0';i++) if(str[i]! =") str[j++]=str[i]; str[j]='\0'; } main() { char str[81]; int n; printf("Input a string:"); gets(str); fun(str); printf("%s\n",str); }

A.asdafaaz67

B.asd af aa z67

C.asd

D.z67


正确答案:A
解析:本题题意是删除字符串中所有空格。由于C语言中没有直接删除字符的操作,所以删除字符的操作都是采用“留下”字符的算法来实现。从串头str[0]到串尾逐一比较,判断其是否为空格,若不是空格,则将其保存在str[j]中,最后加串结束符“\0”。

第4题:

有以下程序

inculde <stdio.h>

inculde <string.h>

void Fun(char*str)

{ char temp;int n,I;

n=strlen(str);

temp=str[n-1];

For(i=n-1;i>0;i--) str[i]=str[i-1];

str[0]=temp;

}

main()

{ char s[50];

ScanF(“%s”,s);Fun(s);printF(“%s\n”,s);}

程序运行后输入:aBcDeF<回车>,则输出结果是【 】


正确答案:fabcde
fabcde 解析:在函数fun中,先求出字符串str的长度,并将最后一个字符暂存到temp中,然后使用循环语句将所有字符向右移动一个位置,最后将temp中的字符放到字符串的第1个位置,所以结果为fabcde。

第5题:

以下程序运行后输入:3,abcde<回车>,则输出结果是【 】include move(char *str,

以下程序运行后输入:3,abcde<回车>,则输出结果是【 】

include <string.h>

move(char *str, int n)

{ char temp; int i;

temp=str[n-1];

for(i=n-1;i>0;i--) str[i]=str[i-1];

str[0]=temp;

}

main( )

{ char s[50]; int n, i, z;

scanf("%d,%s",&n,s);

z=strlen(s);

for(i=1; i<=n; i++) move(s, z);

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

}


正确答案:cdeab
cdeab 解析:本题主要考查函数move()的功能。经过分析可知,每次调用该函数时,都是把最后一个字符移到串的最前端,而原先的第一个字符至倒数第二个字符顺次后移。

第6题:

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

第7题:

以下程序的输出结果是______。 fun(int *s,int *p) { static int t=3; *p=s[t]; t--; } main() { int str[]={1,2,3,4},i,m=0; for(i=0;i<4;i++) {fun(str,&m); printf("%d",m); } printf("\n"); }

A.0

B.444412

C.1234

D.4321


正确答案:D
解析:程序的功能是将字符数组str中的内容以反序输出。函数fun中t为静态变量,每一次调用函数fun时,t的值为上一次调用函数结束时的值。

第8题:

阅读下列程序,当运行函数时,输入asd af aa z67,则输出为

#include

#include

#include

int fun (char *str)

{ int i,j=0;

for(i=0;str[i]!=′\0′;i++)

if(str[i]!=′ ′)str[j++]=str[i];

str[j]= ′\0′;

}

main()

{

char str[81];

int n;

clrscr();

printf("Input a string : ");

gets(str);

puts(str);

fun(str);

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

}

A.asdafaaz67

B.asd af aa z67

C.asd

D.z67


正确答案:A

第9题:

( 12 ) 有以下程序

#include <stdio.h>

#include <string.h>

void fun ( char *str )

{ char temp;int n,i;

n=strlen ( str ) ;

temp=str[n-1];

for ( i=n-1;i>0;i-- ) str[i]=str[i-1];

str[0]=temp;

}

main ()

{ char s[50];

scanf ( " %s " ,s ) ; fun ( s ) ; printf ( " %s\n " ,s ) ;}

程序运行后输入: abcdef< 回车 > ,则输出结果是 【 12 】 。


正确答案: