下列程序的运行结果为()。 #include<stdio.h> voidabc(char*str) {int a,b,i,j; for(i=j=0;str[i]

题目
下列程序的运行结果为()。 include voidabc(char*str) {int a,b,i,j; for(i=j=0;str[i]

下列程序的运行结果为( )。

#include<stdio.h>

voidabc(char*str)

{int a,b,i,j;

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

if(str[i]!='a')

str[j++]=str[j];

str[j]='\0';

}

void main()

{char Str[]="abcdef';

abc(str);

printf("str[]=%s",str);

}

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab

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

第1题:

阅读下列程序,当运行程序时,输入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”。

第2题:

下列程序的运行结果为()。includevoid abc(char*str){int a,b,i,j; for(i=j=0;str[i]!=

下列程序的运行结果为( )。 #include<stdio.h> void abc(char*str) { int a,b,i,j; for(i=j=0;str[i]!='\0';i++) if(str[i]!='a') str[j++]=str[i]; str[j]='\0'; } void main() { char str[]="abcdef"; abc(str); printf("str[]%s",str); }

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析:本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

第3题:

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

阅读下列程序,当运行函数时,输入asd af aa z67,则输出为 #include <stdio.h> #include <ctype.h> #inelude <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”。

第4题:

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

阅读下列程序,当运行函数时,输入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; clrscr(); printf("Input a string:"); gets(str); puts(str); fun(str); printf("%s\n",str); }

A.asdafaaz67

B.asdafaaz67

C.asd

D.z67


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

第5题:

下列程序的运行结果为()。includevoid abc(char*str){int a,b,i,j; for(i=j=0;str[i]!=

下列程序的运行结果为( )。 #include<stdio.h> void abc(char*str) { int a,b,i,j; for(i=j=0;str[i]!='\0';i++) if(str[i]!='a' str[j++]=str[i]; str[j]='\0'; } void main() { char str[]="abcdef"; abc(str); printf("str[]=%s",str); }

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析:本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

第6题:

下列程序的运行结果为()。includevoidabc(char*str){int a,b,i,j;for(i=j=0;str[i]!='\

下列程序的运行结果为( )。

#include<stdio.h>

voidabc(char*str)

{int a,b,i,j;

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

if(str[i]!='a')

str[j++]=str[j];

str[j]='\0';

}

void main()

{char Str[]="abcdef';

abc(str);

printf("str[]=%s",str);

}

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析: 本题考查函数调用时的参数传递。通过函数abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

第7题:

阅读下列程序,当运行函数时,输入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

第8题:

下列程序的运行结果为()。 include voidabc(Char*str) {inta,b,i,j; for(i=j=0;str[i]!

下列程序的运行结果为( )。

#include<stdio.h>

voidabc(Char*str)

{ inta,b,i,j;

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

if(str[i]!='a')

str[j++]=str[i];

str[j]='\0';

}

void main()

{ char str[]="abcdef";

abc(str);

printf("str[]=%s",str);

}

A.str[]=bcdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析:本题考查函数调用时的参数传递。通过函数 abc的执行,将字符串中的字母a去掉,保留剩下的。由于是通过指针调用,所以改变字符串的结果。

第9题:

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

阅读下列程序,当运行函数时,输入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];

A.asdafaaz67

B.asdafaa267

C.asd

D.z67


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