strcpy(p+strlen(q),r);表示从数组首地址偏移strlen(q),也就是从元素d所在的位置开始复制
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、中山网站维护、网站推广。
这时复制完后数组p的长度为3+5=8(元素d被覆盖)
strcat(p,q);表示从数组p的尾部进行连接,这时数组p的长度为8+3=11
而数组p在定义为char p[20],即请求连续开辟20个char类型存储单元,而每个char占一字节,所以sizeof(p)等于20
还有问题吗
一、字符数组的定义
一维字符数组:用于存储和处理1个字符串,其定义格式与一维数值数组一样。
char str[20];
二维字符数组:用于同时存储和处理多个字符串,其定义格式与二维数值数组一样。
char country[10][20];
country[i]:第i个字符串
二.字符数组的初始化
字符数组的初始化.
1.可以通过为每个数组元素指定初值字符来实现。
char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};
char str[ ]={"I am happy"}; 可以省略花括号,如下所示
char str[ ]="I am happy";
char country[10][20]={“china”,”japanese”,……};
注意:上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是错误的
char str[15];
str="I am happy";
strcpy(str, "I am happy");
不是用单个字符作为初值,而是用一个字符串(注意:字符串的两端是用双引号“”而不是单引号‘’括起来的)作为初值。
‘a’ “a”区别
三、字符数组的引用
字符数组的逐个字符引用,与引用数值数组元素类似。
(1)字符数组的输入
除了可以通过初始化使字符数组各元素得到初值外,也可以使用getchar()或scanf()函数输入字符。
例如:
char str[10];
…… for(i=0; i10; i++)
{ scanf(\"%c\", str);
fflush(stdin); /*清除键盘输入缓冲区*/
}
这里只是一部分具体你查看这里:
puts、gets分别表示输出、输入一个字符
strcat表示连接两个字符串
strcpy用于复制字符串
strcmp用于比较两个字符串的大小(按字典顺序)
具体的例子楼主可以去
百度百科
一下,这些基本的
C函数
应该都有详细解释的,我就不啰嗦了。