| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 357 人关注过本帖
标题:思索无果问人也无果,结构数组的小问题
取消只看楼主 加入收藏
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:3 
思索无果问人也无果,结构数组的小问题
题目的愿意是输入5位学生姓名、数学和成绩,按平均分排序,输出平均分最高的学生的姓名及其数学和英语成绩。
于是先测试下基本的能不能做对,结果是输入似乎没问题,但输出则一直是乱码,在单步调试中就是最后的输出错误了。
程序代码:
#include<stdio.h>
int main(void)
{
    struct student{
       char name[50];
       int math,eng;
       float aver;
    }test[3];
    int i;
    for(i=0;i<3;++i)
    scanf("%s%d%d",test[i].name,&test[i].math,&test[i].eng);

    printf("%s%d%d",test[i].name,test[i].math,test[i].eng);
    return 0;

}
这里是测试的代码,本来输入的name那也加了&,别人说都不要加,后来看了下书发现就name加了,可能是字符型本身就是地址。
以下是程序结果:
图片附件: 游客没有浏览图片的权限,请 登录注册

搜索更多相关主题的帖子: 数学 英语成绩 姓名 
2015-03-18 15:19
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 2楼 longwu9t
谢谢啊 但很疑惑为什么必须需要循环才会正确输出呢?单个输出就是那样
2015-03-18 15:32
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 3楼 wp231957
谢谢 但为什么必须需要循环才会正确输出呢?单个输出就是那样
2015-03-18 15:33
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 6楼 wp231957
明白了,先前也想过,所以把i++改成++i,但果然没想明白
2015-03-18 15:39
快速回复:思索无果问人也无果,结构数组的小问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013542 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved