下列语句中,正确的是______。A.static char str[]="China";B.static char str[];str="China";C.st

题目

下列语句中,正确的是______。

A.static char str[]="China";

B.static char str[];str="China";

C.static char str1[5],str2[]={"China"};strl=str2;

D.static char str1[],str2[];str2={"China"};strcpy(str1,str2);

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

第1题:

下列初始化字符数组的语句,正确的是()。

A.char[] str = {'h', 'e', 'l', 'l', 'o'};

B.char[5] str = "hello";

C.char[5] str = {"hi"};

D.char[100] str = "";


A

第2题:

【单选题】下面判断正确的是()。

A.char *a="china";等价于char *a;*a="china";

B.char str[10]={"china"};等价于char str[10];str[]="china";

C.char *s="china";等价于char *s;s="china";

D.char c[6]="china",d[6]="china";等价于char c[6]=d[6]="china";


ABCD

第3题:

char str1[10],str2[]=”China”; 以下语句正确的是()。

A.str1=”China”;

B.str1=str2;

C.strcpy(str1,str2);

D.以上均不正确。


strcpy(str1,str2);

第4题:

【单选题】以下四种说法中,正确的是________。(第7章 指针程序设计)

A.char *a="china"; 等价于 char *a; *a="china";

B.char str[]={"china"}; 等价于 char str[10]; str[]={"china"};

C.char *s="china"; 等价于char *s; s="china";

D.char a[4]="abc",b[4]="abc"; 等价于 char a[4]=b[4]="abc";


反应速度直接取决于反应温度;加氢裂化反应器中催化剂床层总温升是转化率的标志;原料性质不同,一般反应温度也不相同

第5题:

设有char str1[10],str2[10],c1;,则下列语句正确的是

A.str1={"china"};str2=str1;

B.c1="ab";

C.str1={"china"};str2={"people"};strcpy(str1,str2);

D.c1='a';


printf(”%s”,str);

第6题:

【单选题】下面判断正确的是 。

A.char * a=''china";等价于char * a;* a=''china";

B.char str[10] ={"china"};等价于char str[10]; str[ ]=(" china";}

C.char * s="china";等价于char * s; s="china";

D.char c[ 4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";


ABCD

第7题:

下面判断正确的是_________。

A.char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";

B.char str[10]={"china"};等价于char str[10];str[]={"china"};

C.char *a="china";等价于 char *a;*a="china";

D.char *s="china";等价于 char *s;s="china";


D a=“ABCD”书写错误,因为“=”左边不能出现常量;数组名S是代表S数组首地址常量,而不是变量;字符串只有在定义时维数可以省略。

第8题:

在下列语句中,正确的是( )

A.static char str[]="China";

B.static char str[];str="China";

C.static char str1[5],str2[]={"China"};str1=str2;

D.static char str1[],str2[];str2={"China"};strcpy(str1,str2);


正确答案:A

第9题:

下面的程序各自独立,请问执行下面的四个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);

}

}


正确答案:程序1程序崩溃。因为GetMemory并不能传递动态内存TestMemory函数中的str一直都是 NULL。strcpy(str “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针该指针的地址不是 NULL但其原来的内容已经被清除新内容不可知。 程序3能够输出hello但是会发生内存泄漏。 程序4篡改动态内存区的内容后果难以预料非常危险。因为free(str);之后str成为野指针if(str!=NULL)语句不起作用。
程序1程序崩溃。因为GetMemory并不能传递动态内存,TestMemory函数中的str一直都是 NULL。strcpy(str, “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原来的内容已经被清除,新内容不可知。 程序3能够输出hello,但是会发生内存泄漏。 程序4篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str!=NULL)语句不起作用。