output函数用法C语言,为什么这个程序运行 outputstudent 函数里面的内容乱码

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

# include

# include

struct student

{

int age;

float fenshu;

char name[100];

};

void inputstudent (struct student *a, int len)

{

int i;

a = (struct student *)malloc(len* sizeof(struct student));

for(i = 0; i

{

printf("请输入第%d个学生的信息:\n",i+1);

printf("age = ");

scanf("%d",&a[i].age);

printf("fenshu = ");

scanf("%f",&a[i].fenshu);

printf("name = ");

scanf("%s",&a[i].name);

}

printf("\n\n");

}

void outputstudent(struct student *b,int len)//定义两个个形参为

{

int i, j;

struct student t;

for (i = 0 ; i

{

for (j = 0; j

{

if( b[j].fenshu>b[j+1].fenshu)

{

t = b[j];

b[j] = b[j+1];

b[j+1] = t;

}

}

}

printf("学生的内容是:\n\n"); //输出内容

b = (struct student *)malloc(len* sizeof(struct student));

for (i = 0; i

{

printf("第%d个学生的信息:\n",i+1);

printf("age = %d\n",b[i].age);

printf("fenshu = %f\n",b[i].fenshu);

printf("name = %s\n",b[i].name);

printf("\n");

}

}

int main (void)

{

struct student (p);//变量名为p的结构体

int len; //学生个数

printf("请输入学生的个数:\n");

printf("len = ");

scanf("%d",&len);

inputstudent(&p,len);//输入函数

outputstudent(&p,len);//输出函数

return 0;

}

运行结果

学生的内容是:

第1个学生的信息:

age = -842150451

fenshu = -431602080.000000

name = 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯 屯屯屯屯屯屯屯屯屯屯屯屯屯屯

第2个学生的信息:

age = -842150451

fenshu = -431602080.000000

name = 屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯屯

Press any key to continue

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值