单选题设有以下定义:char s1[]=0123;char s2[]={'0','1','2','3'};则以下叙述正确的是(  )。A数组s1的长度小于s2的长度B数组s1和s2的长度相同C数组s1的长度大于s2的长度D数组s1和s2完全等价

单选题
设有以下定义:char s1[]=0123;char s2[]={'0','1','2','3'};则以下叙述正确的是(  )。
A

数组s1的长度小于s2的长度

B

数组s1和s2的长度相同

C

数组s1的长度大于s2的长度

D

数组s1和s2完全等价


参考解析

解析:
字符数组s1赋值字符串"0123",字符串中字符依次放入数组中,在最后一个字符后要添加一个结束字符'\0',数组s1长度为5。数组s2只需要4个单元即可放下所有初始化值,故数组长度为4。所以数组s1的长度大于s2的长度,C项正确,AB错误。两个数组等价是指两个数组长度和类型以及对应每个元素值均相同,所以s1和s2不是完全等价,D项错误。答案选择C选项。

相关考题:

以下程序的输出结果是 【 18 】 。# include stdlib.hmain( ){ char *s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15; *s2=20; m=*s1+*s2;printf("%d\n",m);}

有以下程序void swap(char *x,char *y){ char t;t=*x; *x=*y; *y=t;}main(){ char *s1="abc",*s2="123";swap(s1,s2);printf(" % s, % s\n",s1,s2);}程序执行后的输出结果是A)123,abcB)abc,123C)1bc,a23D)321,cba

以下程序的输出结果是______# includemain(){char *s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=20;m=*s1+*s2;printf(“%d\n”,m);}

以下能正确定义一维数组的选项是A.int a[5]={0,1,2,3,4,5};B.char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C.char a={′A′,′B′,′C′};D.int a[5]="0123";

若有定义语句:“char*s1=”0K”,*s2=”ok”;”,以下选项中,能够输出“OK”的语句是( )。A.if(strcmp(sl,s2)= =0)puts(s1);B.if(strcmp(sl,s2)!=0)puts(s2);C.if(strcmp(sl,s2)= =l)puts(s1);D.if(stremp(sl,s2)!=0)puts(s1);

以下选项中,不能确定赋值的是______。A.char s1[10];s1="chest";B.char s2[]={'C','t','e','s','t'};C.char s3[20]="Chest";D.char *s4="Ctest\n"

若有以下定义和语句: char*s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是______。A.4B.5C.9D.10

有以下程序并includeincludefun(char * w,int n){char t,*s1,*s2; s1=w;s2= 有以下程序 并include<stdio.h> #include<string.h> fun(char * w,int n) { char t,*s1,*s2; s1=w; s2=w+n-1; while(s1<s2) { t=*s1++; * s1=*s2--; * s2=t; } } main() { char p[]="1234567"; fun(p,strlen(p)); puts(p); } 程序运行后的输出结果是( )A.1234567B.7654321C.1711717D.7177171

以下能正确定义一维数组的选项是( )。A.int a[5]=(0,1,2,3,4,5);B.char a[]={0,1,2,3,4,5);C.char a={A ,B,C};D.int a[5]="0123";

对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1, 对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。A.abcdB.abbaC.abcD.abca

以下能正确定义一维数组的选项是______。A.int a[5]={0, 1, 2, 3, 4, 5);B.char a[]={0, 1, 2, 3, 4, 5);C.char a={'A', 'B', 'C'};D.int a[5]="0123";

以下程序中函数scmp功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#includ<string. h>char *scmp(char *s1,char *s2){ if(strcmp(s1,s2)<0) return(s1); else return(s2);}main(){ int i;char string[20],str[3][20]; for(i=0;i<3;i++) gets(str[i]); strcpy(string,scmp(str[0],str[1])); //库函数 strcpy 对字符串进行复制 strcpy(string,scmp(stfing,str[2])); puts(string); }若运行时依次输入: abed、abba 和abc三个字符串,则输出结果为( )。A.abedB.abbaC.abcD.abca

以下程序的输出结果是______。includeincludefun(char*w,int n){ char t,*s 以下程序的输出结果是______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++; *s1=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }A.1234567B.7654321C.1711717D.7177171

对于下面的程序includeincludechar * scmp(char * s1,char * s2){if(strcm 对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。A.abcdB.abbaC.abcD.abca

下列能正确定义一维数组的选项是( )。A.int a[5]={0,1,2,3,4,5);B.char a[]={0,1,2,3,4,5};C.char a={'A','B','C'};D.int a[5]="0123";

以下选项中,不能正确赋值的是 ______。A.char s1[10];s1="chest";B.char s2[]={'C','t','e','s','t'};C.char s3 [20]="Chest";D.char * s4="Cest\n"

以下程序的输出结果是 ______。includevoid main(){ char s1[]=”Hello”,s2[]="World 以下程序的输出结果是 ______。 #include<iostream.h> void main(){ char s1[]=”Hello”,s2[]="World"; char *p1,*p2; int i; p1=s1; p2=s2; for(i=0;i<5;i++) if(*(pl+i)==*(p2+i)) cout<<*(p1+i); }A.H1B.HoC.10D.1

若有以下定义语句: char * sl="12345", * s2="1234"; printf("%d"n",strlen(strcpy(s1,s2))); 则输出结果是 ( )A.4B.5C.9D.10

若有定义语句:char}sl=‘’0K”,:It s2=”ok”;以下选项中,能够输出“OK”的语句是( )。A.if(strcmp(sl,s2)!=0)puts(s2);B.if(strcmp(sl,s2)!=0)puts(s1);C.if(strcmp(sl,s2)==1)puts(s1);D.if(strcmp(sl,s2)==0)puts(s1);

以下程序的输出结果是_______。includeincludefun(char*w,int n){char t,*s 以下程序的输出结果是_______。 #include<stdio.h> #include<string.h> fun(char*w,int n) { char t,*s1,*s2; s1=w;s2=w+n-1; while(s1<s2) { t=*s1++: *sl=*s2-; *s2=t; } } main() { char*p; p="1234567"; fun(p,strlen(p)); puts(p); }A.1234567B.7654321C.1711717D.7177171

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。 #include<string> char*scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0) return(s1); else retrun(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i+A.abcdB.abbaC.abcD.abca

有以下程序:include using namespace std;int main ( ){ char s1[10],s2[10]; char*p 有以下程序: #include <iostream> using namespace std; int main ( ) { char s1[10],s2[10]; char *p=s1,*q=s2; cin>>s1>>s2; while (*p ! =' \0 ' ) p++; while (*q!='\0') *p++=*q++; *p='\0'; cout<<s1<<end1; return 0; }A.abcd0ghijB.abcd0ghij0C.abcdD.abcdghij

以下程序的输出结果是( )。 include main() {char*s1,*s2,m; s1=s2=(char*)malloc(size 以下程序的输出结果是( )。include<stdlib.h>main(){char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char));*s1=15;*s2=20;m=*s1+*s2:printf("%d\n",m);}

阅读以下说明和C代码,填写代码中的空(1)~(6),将解答写入答题纸的对应栏内。【说明】下面的C代码在输入的100个英文单词中找出最小单词和最大单词。约定每个单词是仅由英文字母构成的字符串,且都不超过20个字符。单词的大小按照字典序定义。例如,单词“entry”大于“enter”、“art”小于“ article”、“an”等于“An”。 【C代码】#include #define NUMBER 100int isValid(const char *s1); //若字符串s1仅包含英文字母则返回1,否则返回0char toLower(char ch); //将大写字母转换为小写字母int usr_strcmp(char *s1, char *s2); //比较字符串s1和s2,相等时返回0, //s1大则返回正整数,s1小则返回负整数void usr_strcpy(char *s1,const char *s2); //字符串s2拷贝给s1 int main(){ char word[32]; char maxWord[32]="", minWord[32] =""; int numWord=0; while(num Word0) / /调用usr_strcmp比较单词 usr_strcpy(max Word, word); / /用max Word记下最大单词 else if( (3) ='a' && *s='A' && *s='A' && ch

以下能正确定义一维数组的选项是()A、int a[5]={0,1,2,3,4,5};B、char a[]={0,1,2,3,4,5};C、char a={’A’,’B’,’C’};D、int a[5]="0123";

有以下程序  void swap(Char *x,Char *y)      {Char t;     t=*x;*x=*y;*y=t;      }   main( )  {Char *s1=”abc”,*s2=”123”;      swap(sl,s2);  printf(”%s,%s/n”,s1,s2);     }  程序执行后的输出结果是()A、abe,123B、123,abcC、321,cbaD、1bc,a23

单选题若有定义语句char*s1="OK",*s2="ok";以下选项中能够输出"OK"的语句是(  )。Aif(strcmp(s1,s2)==0)puts(s1);Bif(strcmp(s1,s2)!=0)puts(s2);Cif(strcmp(s1,s2)==1)puts(s1);Dif(strcmp(s1,s2)!=0)puts(s1);