renxiang5915 2015-12-07 13:53 采纳率: 0%
浏览 1452
已结题

求大神给讲解一下啊,我已经懵逼了

struct Mapmess
{
unsigned int Crosscolumn;
unsigned int Branch;
unsigned int Roadflag;
unsigned short Recordsize;
unsigned int LinkID;
unsigned short Roadnamesize;
char Roadname[30];
};
已经定义好的一个结构体,结构体如上,
然后我定义了一个结构体数组 struct Mapmess maps[length];
length的长度等于63600
然后我根据fopen函数把一个dat的相应的63600条信息读取到这个结构体数组中;
然后我利用数组里的linkid对这个数组信息进行排序;
程序如下:
void Sequencing()
{
int i,j,k;
//struct Mapmess temp;
unsigned int temp;
printf("正在排序中,请稍后....\n");
for(i=0;i<length-1;i++)
{
for(j=0;j<length;j++)
{
if(maps[i].LinkID<maps[j].LinkID)
{

temp = maps[i].LinkID;
maps[i].LinkID = maps[j].LinkID;
maps[j].LinkID = temp;

        }
    }
}
printf("排序完成!\n");

}

然而排序完后再输出LinkID
就变成了
0 40 140 240 340......一直到60000每次加100;
求大神告诉我一下这个到底是为什么啊
我测试了读取后LinkID都是正确
排序过程中也是对的
为什么出来就变了呢!

  • 写回答

7条回答 默认 最新

  • 有雄心的小菜鸟 2015-12-07 14:26
    关注

    看看你的输出函数。感觉你怎么直接改变结构体的内容。

    评论

报告相同问题?

悬赏问题

  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题