有如下定义:charstr[3][2]={’a’,’b’,’c’,’/0’,’e’,’f’};则语句:printf("%s",str[0]);的输出结果是()A、abB、abcefC、abc/0D、abc

题目

有如下定义:charstr[3][2]={’a’,’b’,’c’,’/0’,’e’,’f’};则语句:printf("%s",str[0]);的输出结果是()

  • A、ab
  • B、abcef
  • C、abc/0
  • D、abc
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序的运行结果为

#include<stdio.h>

void abc(char*str)

{ int a,b;

for(a=b=0;str[a]!='\0';a++)

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

str[b++]=str[a];

str[b]='\0';}

void main()

{ char str[]="abcdef";

abc(str);

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

A.str[]=abdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析:本题考查了用字符指针引用字符数组中的字符及对字符的操作。函数abc()的for语句执行过程是:从字符指针str所指向的字符数组的第一个元素开始,逐一判断字符是否为'c',若不是就执行一次数组元素的赋值过程,若字符为'c'就不执行。

第2题:

下列程序的输出结果是()。includestruct abc{int a, b, c, s;};main(){struct abc s[2]

下列程序的输出结果是( )。 #include <stdio.h> struct abc { int a, b, c, s;}; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); }

A.5

B.6

C.7

D.8


正确答案:B
解析:在本题中,s[0].a=1,s[1].b=5,所以输出结果为6。

第3题:

下面程序的输出结果是includeincludemain(){char *pl="abc",*p2="ABC",str

下面程序的输出结果是 #include<stdio.h> #include<string.h> main() { char *pl="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n",str);}

A.xyzabcABC

B.zabcABC

C.xyabcABC

D.yzabcABC


正确答案:C
解析: 本题考查的重点是拷贝字符串——使用strcpy()函数,该函数的调用方式是:strcpy(字符数组,字符串),其中”字符串”可以是字符串常量,也可以是字符数组。函数的功能是:将“字符串”完整地复制到“字符数组”中,字符数组中原有的内容被覆盖。
使用该函数时注意:①字符数组必须定义得足够大,以便容纳复制过来的字符串。复制时,连同结束标志'\0'一起复制;②不能用赋值运算符“:”将一个字符串直接赋值给一个字符数组,只能用strcpy()函数处理。
另外,本题还考查连接字符串的strcat()函数,其调用方

第4题:

下列程序段的运行结果是()。 include void main() {char str[]="ABC",*p=str; printf("

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

#include<stdio.h>

void main()

{ char str[]="ABC",*p=str;

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

}

A.67

B.0

C.字符'C'的地址

D.字符'C'


正确答案:B
解析:先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

第5题:

设有如下定义 int x=10,y=3,z; 则语句 printf("%d\n",z=(x%y,x/y)); 的输出结果是( )

A.3

B.0

C.4

D.1


正确答案:A

第6题:

下列程序的输出结果是( ) struct abc { int a,b,c;}; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t); }

A.3

B.4

C.5

D.6


正确答案:D

第7题:

以下C程序段的输出结果是(30)。 include void abc(char *str){ int a, b;

以下C程序段的输出结果是(30)。 #include <stdio. h> void abc(char *str){ int a, b; for(a=b=0;str[a]!='\O';a++)if(str[a]!='c') str[b++]=str[a]; str[b]='\O'; } void main(){ char str[]="abcdef"; abc(str); printf("str[]=%s",str); }

A.str[]=a

B.str[]=ab

C.str[]=abdef

D.str[]=abcdef


正确答案:C
解析:本试题核心在于子函数的for循环。For循环将整个字符串中的字符处理一遍,每次处理时,函数的基本工作是将除字母c之外的字符重新赋值,然后a++,b++,继续处理下一个字符。对于字母c不赋值,且只有a++而b不变。可见for循环的目的只是将字母c剔除。

第8题:

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

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

A.str[]=abdef

B.str[]=abcdef

C.str[]=a

D.str[]=ab


正确答案:A
解析: 本题考查了用字符指针引用字符数组中的字符及对字符的操作。函数abc()的for语句执行过程是:从字符指针str所指向的字符数组的第一个元素开始,逐一判断字符是否为'c',若不是就执行一次数组元素的赋值过程,若字符为'c'就不执行。

第9题:

下列程序段的运行结果是()。includevoid main(){char str[]="ABC",*p=str;printf("%d\n

下列程序段的运行结果是( )。 #include<stdio.h> void main() { char str[]="ABC",*p=str; printf("%d\n",*(p+3)); }

A.67

B.0

C.字符'C'的地址

D.字符'C'


正确答案:B
解析: 先定义了一个指向字符型数组str的指针p,指针p旨向数组str的首地址,p+3将指针指向str[3],又因为字符型数组在存放字符串时会自动在末尾加上'\0',所以*(p+3)=0。

第10题:

有如下程序段struct abc{ int a, b, c, s;};main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d\n",t);}程序运行后输出的结果是A.5 B.6 C.7 D.8


正确答案:B
本题中,程序首先定义一个结构体,该结构体定义了四个整型变量。在主函数中,首先定义了一个该结构体的大小为2的结构体数组,并给该数组进行了初始化,从初始化语句我们可以看出,初始化时缺少了一个结构体成员的值,在这种情况下,系统会自动为缺省的成员补0,本题中就是给结构体成员变量b赋初值为0。
然后定义了一个整型变量t,接着运行t=s[0].a+s[1].b;语句,即t=1+5=6。因此,程序的最后输出结果为6,本题正确答案选B。

更多相关问题