求一个C语言程序的运行结果

#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};voidf(structAt);m... #include<stdio.h> #include <string.h> struct A { int a; char b[10]; double c;}; void f(struct A t); main() { struct A a={1001,"ZhangDa",1098.0}; f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c); } void f(struct A t) { t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;} 其中strcpy是什么意思 展开
 我来答
wolf757lKs
2015-01-08 · TA获得超过114个赞
知道答主
回答量:130
采纳率:0%
帮助的人:199万
展开全部
运行结果: 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 的内容。
唯爱一萌673760
2015-01-09 · 超过72用户采纳过TA的回答
知道答主
回答量:132
采纳率:0%
帮助的人:136万
展开全部
函数名: strcpy 功能: 串拷贝 用法: char *strcpy(char *str1, char *str2); 程序例: #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return 0; }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式