单选题以下叙述中正确的是(  )。A不能用字符串常量对字符数组名进行整体赋值操作B字符串常量Hello会被隐含处理成一个无名字符型数组,它有5个元素C“char str[7] = string!;”在语法上是合法的,运行也是安全的D“char *str = Hello;”与“char str[]; str = Hello;”效果是一样的

单选题
以下叙述中正确的是(  )。
A

不能用字符串常量对字符数组名进行整体赋值操作

B

字符串常量Hello会被隐含处理成一个无名字符型数组,它有5个元素

C

“char str[7] = string!;”在语法上是合法的,运行也是安全的

D

“char *str = Hello;”与“char str[]; str = Hello;”效果是一样的


参考解析

解析:
A项正确,不可以用赋值语句给字符数组整体赋一串字符,但是可以直接用字符串常量给一维字符数组赋初始值。B项错误,编译器会在字符串常量最后添加'\0',它共有6个元素;C项错误,在语法上是合法的,但是没有字符串尾标识符,系统将要在其后的内存中找一个距它最近的'\0'作为其结束标志,运行时不安全;D项错误,不能给数组名str赋值。答案选择A选项。

相关考题:

以下函数 fun 的功能是返回 str 所指字符串中以形参 c 中字符开头的后续字符串的首地址 , 例如 : st r所指字符串为 : Hello! , c 中的字符为 e ,则函数返回字符串 : ello! 的首地址。若 str 所指字符串为空串或不包含 c 中的字符,则函数返回 NULL 。请填空。char *fun(char *str,char c){ int n=0; char *p=str;if(p!=NULL)while(p[n]!=cp[n]!='\0') n++;if(p[n]=='\0') return NULL;return( 【 1 2 】 );}

以下能正确定义字符串的语句是A)char str[]={' \ 064'};B)char str="kx43";C)char str=";D)char str[]="\0";

设有定义: char *c; ,以下选项中能够使字符型指针 c 正确指向一个字符串的是A ) char str[ ]= "string";c=str;B ) scanf("%s",c);C ) c=getchar();D ) *c="string";

设有定义:char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是( )A)char str[]="string";c=str;B)scanf("%s",c);C)c=getchar;D)char str[]="string";strcpy("c,str")

定义字符指针char *str="hello",已知sizeof(str)=4,则strlen(str)=______。

有以下程序: includemain(){ char str[][20]={"Hello","Beijing"},*p=str;printf("% 有以下程序: # include<string.h> main() { char str[][20]={"Hello","Beijing"},*p=str; printf("%d\n",strlen(p+20)); } 程序运行后的输出结果是 ______。A.0B.5C.7D.20

下列能正确定义字符串的语句是( )。A.char str[]={'\64'};B.char str="kx43";C.char str=";D.char str[]="\0";

以下能正确定义字符串的语句是( )。A.char str[]={'\064'};B.char str="\x43";C.char str=";D.char str[]="\0";

设有以下语句: char str1[]="string",str2[8],*str3,*str4=="string; 则______不是对库函数的正确调用。A.strcpy(str1,"HELLO1");B.strcpy(str2,"HELLO2");C.strcpy(str3,"HELLO3");D.strcpy(str4,"HELLO4")

下列对字符串的定义中,错误的是_____ 。 A. char str[5]= "abcde"B. char str[ ]= "abcde"C. char *str ="abcde"D. char str[ ]={ 'a', 'b', 'c', 'd', 'e', '\0'}

以下不能正确进行字符串赋值初值的语句是( )。A.char str[5]="good!";B.char str[]="good!";C.char*str="good!";D.char str[5]={'g','o','o','d'};

有以下程序:includemain(){ char str[][20]={"Hello","Beijing"),*p=str[0];printf(" 有以下程序: #include<string.h> main() { char str[][20]={"Hello","Beijing"),*p=str[0]; printf("%d\n",strlen(p+20)); } 程序运行后的输出结果是( )。A.0B.5C.7D.20

以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如,str所指字符串为Hello!,c中的字符为e,则函数返回字符串ello!的首地址。若str所指字符串为空或不包含c中的字符,则函数返回NULL,请填空。char *fun(char *str,char c){ int n=0; char *p=str; if(p!=NULL) while(p[n]!=cp[n]!=’\0’) n++; if(p[n]==’\0’) return NULL; return();}

下面函数的功能是 char*fun(char*strl,char*str2) { while((*strl)(*str2++=*strl++)); return str2;}A.求字符串的长度B.比较两个字符串的大小C.将字符串str1复制到字符串str2中D.将字符串str1接续到字符串str2中

下面的程序各自独立,请问执行下面的四个TestMemory 函数各有什么样的结果?①void GetMemory(char * p){p = (char * )malloc(100);}void TestMemory (void){char *str = NULL;GetMemory (str);strcpy(str, "hello world");prinff(str);}② char * GetMemory (void){char p[ ] = "hello world";return p;}void TestMemory (void){char * str = NULL;str = GetMemory( );printf(str);}③void GetMemory(char * * p, int num){* p = (char * )malloc(num);}void TestMemory (void){char * str = NULL;GetMemory(str, 100);strcpy( str, "hello" );printf(sir);}④void TestMemory (void){char *str = (char * )malloe(100);strepy (str, "hello" );free ( str );if(str ! = NULL){strepy( str, "world" );printf(str);}}

以下不能正确进行字符串赋初值的语句是A.char str[5]="good!";B.char str[]="good!";C.char*srt="good!";D.char str[5]={ 'g', 'o', 'o', 'd'};

以下选项中,属于合法语句的是( )。A.char nm[10]; nm="C Program";B.char str1[10]="computer",str2[10]; str2=str1;C.char str[7]="siring!";D.char sp[]="Hello!";

有以下程序:includemain(){char str[][20]={"Hello","beijing"},*p=str;ptintf("%\n" 有以下程序: #include <string.h> main() { char str[][20]={"Hello","beijing"},*p=str; ptintf("%\n",strlen(p+20)); } 程序运行后的输出结果是( )。A.0B.5C.7D.20

下列描述中,不能正确给字符数组str定义和赋值的是( )。 A、char str[]={"abcdefghijklmn "};B、char str[10];str={" abcdefghijklmn "};C、char str[10]={"abcdefghijklmn"};D、char str[10];strcpy(str,"abcdefghijklmn");

在C语言中,关于字符串描述错误的是( )。A.C中的字符串是作为字符数组来处理的B.C语言规定:以‘\0’作为字符串结束标志C.char str[]={"hello\nworld!"}; puts(str); 输出: hello\n world!D.可以利用strlen(字符数组)测试字符串的长度

下列能正确定义字符串的语句是( )。A)char str[]={'\064'};B)char str="kx43";C)char str=";D)char str[]="\0";

以下不能进行字符串赋初值的语句是()。A、char *str= “good!”;B、char str[]= “good!”;C、char str[5]= {‘g’,‘o’,‘o’,‘d’};D、char str[5]= “good!”;

设有以下语句:  char str1[]= “string”,str2[8],*str3,*str4= “ string”;      则不能对库函数strcpy(复制字符串)的正确调用的是()A、strepy(str1,“HELLO1”);B、strepy(str2,“HELL02”);C、strcpy(str3, “HELL03”)D、strcpy(str4, “HELLO4”);

单选题设有以下语句:  char str1[]= “string”,str2[8],*str3,*str4= “ string”;      则不能对库函数strcpy(复制字符串)的正确调用的是()Astrepy(str1,“HELLO1”);Bstrepy(str2,“HELL02”);Cstrcpy(str3, “HELL03”)Dstrcpy(str4, “HELLO4”);

单选题以下使指针指向一个字符串的选项错误的是(  )。Achar str[]=string; char * ps; *ps= str;Bchar str[]=string; char *ps; ps= str;Cchar str[]=strinh,* ps=str;Dchar * ps; ps=str; ps=strinh;

单选题以下叙述中正确的是(  )。A语句“char str[10]=string!;”和“char str[10]={string!};”并不等价B对于字符串常量“string!”,系统已自动在最后加入了'\0'字符,表示串结尾C对于一维字符数组,不能使用字符串常量来赋初值D在语句“char str[]=string!;”中,数组str的大小等于字符串的长度

单选题若有定义语句:char str1[] = "string", str2[8], *str3, str4[10] = "string";库函数strcpy的功能是复制字符串,以下选项中错误的函数调用是(  )。Astrcpy(str3, "HELLO!");Bstrcpy(str2, "HELLO!");Cstrcpy(str1, "HELLO!");Dstrcpy(str4, "HELLO!");