运行结果: 1001,ZhangDa,1098.0 题目分析: strcpy 是字符串复制,在头文件 string.h 中定义。 如果s1 和 s2 都是字符串,strcpy(s1, s2); 的结果就是把 s2 的内容复制到 s1。 需要用 strcpy 是因为 C 语言不允许字符串赋值,所以可以有: a = 1002; c = 1202.0; 却不可以有: b = "ChangRong" /* 错误 */ 必须写成: strcpy(b, "ChangRong"); 因此函数 f 的内容就是把新的值赋值给结构体 t 的各个字段。那么为什么输出的结果仍然是主函数中结构体 a 的初值呢?那是因为函数 f 的参数用了结构体型,跟基本类型一样,是“值传递”:t 复制了主函数中 a 的内容,但是函数结束,返回主函数的时候,t 被丢弃,并不改变原来 a 的内容。