设有以下定义: char *st="how are you";下列程序段中正确的是______。

admin2009-02-15  23

问题 设有以下定义:    char *st="how are you";下列程序段中正确的是______。

选项 A、char a[11],*p;strcpy(p=a+1,&st[4]);
B、char a[11];strcpy(++a,st);
C、char a[11];strcpy(a,st);
D、char a[],*p;srtcpy(p=&a[1],st+2);

答案1

解析 选项A表示把st所指串的第5个字符开始的后面的元素赋值给数组a的第2个元素开始的后面元素,形式正确;选项B中出现对数组名进行自加运算,因此错误:选项C中 st所指字符串有11个字符,再加上’\0’,有12个字符,超过数组长度,所以也是错误的;选项D的情况和选项C相似,也是形式正确,但超过了数组的长度。
转载请注明原文地址:https://kaotiyun.com/show/suXp777K
0

最新回复(0)