小白自学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;
}
输出结果是这样的,求大神请问为什么输出不了“张三”? 展开
# 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;
}
输出结果是这样的,求大神请问为什么输出不了“张三”? 展开
4个回答
展开全部
改为:
void outputstudent (struct student st)
{
printf("%d %c %s\n", st.age, st.sex, st.name);//第二个%c改为%s
}
追问
谢谢大神^_^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void outputstudent (struct student st)
{
printf("%d %c %c\n", st.age, st.sex, st.name);
}
的printf中最后一个%c改成%s
{
printf("%d %c %c\n", st.age, st.sex, st.name);
}
的printf中最后一个%c改成%s
追问
谢谢大神^_^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("%d %c %c\n", st.age, st.sex, st.name);
改为printf("%d %c %s\n", st.age, st.sex, st.name);
改为printf("%d %c %s\n", st.age, st.sex, st.name);
追问
谢谢大神^_^
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询