小白自学C语言,下面程序不知道哪里出错,导致输出结果不是想要的,求大神!!!

#include<stdio.h>#include<string.h>structstudent{intage;charsex;charname[100];};voidI... # include <stdio.h>
# include <string.h>

struct student
{
int age;
char sex;
char name[100];
};

void Inputstudent (struct student * pst)
{
pst->age = 10;
pst->sex = 'f';
strcpy(pst->name, "张三");

}

void outputstudent (struct student st)
{
printf("%d %c %c\n", st.age, st.sex, st.name);
}

int main(void)
{
struct student st;

Inputstudent (&st);
outputstudent (st);

return 0;
}
输出结果是这样的,求大神请问为什么输出不了“张三”?
展开
 我来答
afanihao_cn
2015-03-23 · TA获得超过155个赞
知道小有建树答主
回答量:257
采纳率:50%
帮助的人:165万
展开全部
这是你写的代码??自学的话能写成这样算水平不了。。。
printf("%d %c %c\n", st.age, st.sex, st.name);
把最后一个%c改成%s
参考优酷上" C学习指南 "的第5.2讲
追问
谢谢大神^_^我是自己看教程学的,看完后自己按着记忆敲^_^
追答
看起来是个苗子,呵呵,不过一定要看看我推荐的那个教程,免得你被其他书给坑了。。。
萢萢i3
2015-03-23 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:71%
帮助的人:4476万
展开全部

改为:

void outputstudent (struct student st)
{
printf("%d %c %s\n", st.age, st.sex, st.name);//第二个%c改为%s
}
追问
谢谢大神^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
12345trewqaz
2015-03-23 · TA获得超过161个赞
知道小有建树答主
回答量:269
采纳率:0%
帮助的人:182万
展开全部
void outputstudent (struct student st)
{
printf("%d %c %c\n", st.age, st.sex, st.name);
}
的printf中最后一个%c改成%s
追问
谢谢大神^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空空2012xxy
2015-03-23 · TA获得超过432个赞
知道小有建树答主
回答量:612
采纳率:0%
帮助的人:620万
展开全部
printf("%d %c %c\n", st.age, st.sex, st.name);
改为printf("%d %c %s\n", st.age, st.sex, st.name);
追问
谢谢大神^_^
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式