学算术的熊 发表于 2008-9-4 20:06

一道题目不明白,请指教谢谢

若有定义:char   *x="abcdefghi";,下列选项中正确运用了strcpy函数的是(    )。
A)char y[10]; strcpy(y,x[4]);
B)char y[10]; strcpy(+ +y,&x[1]);
C)char y[10],*s; strcpy(s=y+5,x);
D)char y[10],*s; strcpy(s=y+1,x+1);
A)为什么不对,不是把e复制到y[0]中么?可以说得简单透彻一点
谢谢

QQ0001000 发表于 2008-9-4 20:18

原型:extern char *strcpy(char *dest,char *src);

用法:#include <string.h>

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
第二个参数是字符串,或是一个指针,不能是一个字符.

学算术的熊 发表于 2008-9-4 20:25

回复 2# QQ0001000 的帖子

A)中x[4]错误,不能是字符
谢谢[tk12]

dtlcq 发表于 2008-9-4 21:06

x[4] 为字符 e
而 strcpy 只能是 变量和指针

sanguo147 发表于 2008-9-4 21:12

楼上几位说的很对
字符串 指针 数组元素  数组名确实比较饶人  多练习几次 就可以了

wlj_hk 发表于 2008-9-4 21:56

[quote][bo][un]QQ0001000[/un] 在 2008-9-4 20:18 的发言:[/bo]

原型:extern char *strcpy(char *dest,char *src);

用法:#include

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src ... [/quote]
就这个原型,我认为应该是选D才对,我也是个初学者,也不知道答的对不对.献丑了,愿与朋友一起进步:QQ657846778

页: [1]

编程论坛