*字符数组的输入输出
·字符数组的输入输出可以有两种方法:
逐个字符输入输出。用格式符“%c”输入或输出一个字符。
将整个字符串一次输入或输出。用“%s”格式符,意思是对字符串的输入输出。
说明:
(1)用“%s”格式符输出字符串时,printf函数中的输出项是字符数组名,而不是数组元素名。
(2)如果数组长度大于字符串实际长度,也只输出到遇′\0′结束。
(3)输出字符不包括结束符′\0′。
(4)如果一个字符数组中包含一个以上′\0′,则遇第一个′\0′时输出就结束。
(5)可以用scanf函数输入一个字符串。
(6)如果利用一个scanf函数输入多个字符串,则在输入时以空格分隔。例如:scanf(″%s%s%s″,str1,str2,str3);
*strcpy函数
strcpy是“字符串复制函数”,其一般形式为:strcpy(字符数组1,字符串2)
(1)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。
(2)“字符数组1”必须写成数组名形式(如str1), “字符串2”可以是字符数组名,也可以是一个字符串常量。如:strcpy(str1,″China″);
(3)复制时连同字符串后面的′\0′一起复制到字符数组1中。
(4)可以用strncpy函数将字符串2中前面若干个字符复制到字符数组1中去。
(5)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。
*参数传递——值传递方式
函数调用时,为形参分配单元,并将实参的值复制到形参中;
调用结束,形参单元被释放,实参单元仍保留并维持原值;
特点: 形参与实参占用不同的内存单元; 单向传递
*参数传递——地址传递方式
函数调用时,将数据的存储地址作为参数传递给形参
特点: 形参与实参占用同样的存储单元; “双向”传递; 实参和形参必须是地址常量或变量;