设有以下语句: char str1[]="string",str2[8],*str3,*str4="string"; 请给出解释谢谢

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

第1个回答  2017-08-30
最佳中提出的:str4指向了一个字符串,是不能更改的。这个在这道题目中是不需要考虑的。为什么他说不能更改?因为str4更改后,string这个字符串所在的存储空间因为没有被其他变量所指向或被定义,所以string所在内存会被释放,也就是消失,这个在编程中会造成数据丢失,应该避免,但是在这个题目中,是无妨的。

strcpy(str,"AAA")函数的作用就是把字符串AAA复制到str所指向的存储空间。C选项str3是个指针变量,因为定义中没有给他赋值,它没有所指向的存储空间。所以C选项这个是错误的。
第2个回答  2009-09-14
明显是D,str4指向字符串常量

严格说,C属于危险行为本回答被提问者采纳
第3个回答  2009-09-14
个人认为是C,因为*str3之声明了一个指针,并没有对指针分配内存,没有分配没存就进行strcpy操作应该会出错

...char str1[]="string",str2[8],*str3,*str4="string"; 请给出...
为什么他说不能更改?因为str4更改后,string这个字符串所在的存储空间因为没有被其他变量所指向或被定义,所以string所在内存会被释放,也就是消失,这个在编程中会造成数据丢失,应该避免,但是在这个题目中,是无妨的。

...char str1[]="string",str2[8],*str3,*str4="string"; 请给出...
没分配内存

...str1[]="string",str2[8],*str3,*str4="string";不能对库函数strcpy...
A是正确的,是把HELLO!复制到str1所指向的地址,也就是str1[]数组中 B是正确的,是把HELLO!复制到str2[8]这个具有八个元素大小的数组中 D是正确的,str4所指向的存储空间是"string"所在的地方,所以A,B,D的str都指向了一个存储空间,唯独C没有指向,所以C是不能用的。绝对让你满意~=== 补...

请教一个C语言有关strcpy函数的程序问题
因为char *str3是定义了一个字符的指针,它所指向的空间只有一个字符。所以,A是错的。

求94年 全国计算机等级考试二级C语言笔试试题!
char str1[]="string",str2[8],*str3,*str4="string"; 则【42】 不是对库函数strcpy的正确调用,此库函数用业复制字符串。 【42】 A) strcpy(str1,"HELLO1"); B) strcpy(str2,"HELLO2"); C) strcpy(str3,"HELLO3"); D) strcpy(str4,"HELLO4"); (43) C语言中形参的缺省存储类别...

有关C语言的几道题,求答案及解释
1、题目倒数第二句改为“输入字符A后”的话,ch的值是'A',getchar()是从标准输入流读取一个字符,并返回这个字符,赋值给了ch,所以ch的值就是你输入的那个字符,你输入A,它的值就是A 2、暂时还不是很明白,C和D都能在win-tc下编译通过,值都存在变量str3,和str4里面,可以通过printf("...

...函数strcpy用以复制字符串。若有以下定义和语句:
答案是D 原型声明:extern char *strcpy(char *dest,char *src); 头文件:string.h 功能:把src所指由NULL结束的字符串复制到dest所指的数组中。 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。 返回指向dest的指针。这里str4的空间不够。

设有以下语句:char str[4][12]={"aaa","bbbb","ccccc","dddddd"}...
strp strp[4];定义的是指针数组。通过循环对数组的每个元素赋值,分别指向数组的每一行。strp表示的是一个数组名,而这个数组的类型是指针,因此strp指向的是第一个指针变量的地址。取值范围:char : -2^7 ~ 2^7-1 ;signed char: -2^7 ~ 2^7-1 unsigned char : 0 ~ 2^8-1 而且关于...

...{ char str1[]={"Oh! God save me!"}; char str2[11]="Yes,_百度...
printf("%s",str2[5]);类型不匹配吧,str2[5]为字符类型。

C语言中函数strcpy的使用
include <string.h> int main() { char str1[20] = "Hello World";char str2[20];strcpy(str2, str1); \/\/ 将 str1 复制到 str2 printf("str1: %s\\n", str1);printf("str2: %s\\n", str2);return 0;} 在这个例子中,我们首先声明了两个字符数组 str1 和 str2,并初始化 ...

相似回答