| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 329 人关注过本帖
标题:急!疑惑 郁闷
只看楼主 加入收藏
honney
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-5-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
急!疑惑 郁闷
#include <stdio.h>
#include <string.h>

typedef struct
{
    char data[3];
    short checksum;
} dataset;                                 /***分组中的16个8位数***/

typedef struct
{
    short flag;
    dataset data[2];
} ft3frame;                                /***ft3帧格式****/

main()
{
    ft3frame ft1;
    unsigned char data[20];
    int i,j,k;
    char *ptr;
    for(i=0;i<20;i++)
    {
        data[i]=i+230;
    }
    k=0;
    for(i=0;i<2;i++)                  /***对ft1帧中的八位数付初值***/
    {
        for(j=0;j<3;j++)
        {
            ft1.data[i].data[j]=data[k];
        printf("ft1.data[%d].data[%d]=%x\n",i,j,data[k]);
        k++;
        }
    ft1.data[i].checksum=0;
    }
    printf("ft1.checksum0=%d\n",ft1.data[0].checksum);
    printf("ft1.checksum1=%d\n",ft1.data[1].checksum);
    ft1.flag=0x0564;
    ptr=(char *)&ft1;
    for(i=0;i<13;i++)
       printf("%x\n ",*ptr++);
      
}
[chenlin@localhost ~]$ gcc -o text tex.c
[chenlin@localhost ~]$ ./text
ft1.data[0].data[0]=e6
ft1.data[0].data[1]=e7
ft1.data[0].data[2]=e8
ft1.data[1].data[0]=e9
ft1.data[1].data[1]=ea
ft1.data[1].data[2]=eb
ft1.checksum0=0
ft1.checksum1=0
64
 5
 ffffffe6
 ffffffe7
 ffffffe8
 8
 0
 0
 ffffffe9
 ffffffea
 ffffffeb
 ffffff82
 0

此结果是在linux系统下运行的 很是疑惑
怎么运行后的结果会是这样呢?
printf("ft1.data[%d].data[%d]=%x\n",i,j,data[k]);
 printf("%x\n ",*ptr++);
这两条语句的输出格式是一样的 怎么一个输出e6 而另外一个输出的是ffffffe6呢?
还有 强制类型转换之后 checksum 应该输出0 0 两个数的 怎么输出的是 8 0 0 呢?最后一个干脆直接输出一个0  










搜索更多相关主题的帖子: include 
2010-05-17 11:13
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
收藏
得分:20 
lz能把自己想要实现的功能说明一下么~~我大概知道你的错误,但是不知道你想要什么样的结果~~
2010-05-17 11:32
honney
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2010-5-16
收藏
得分:0 
其实这只是 我编的那个程序中的 自己为了看输出中的一部分 因为程序中的输出地位数不对  所以就单独的截出来 来看一下结
具体的程序在我的另外一个问题之中
可以去看一下~~

继续帮忙
2010-05-17 14:35
快速回复:急!疑惑 郁闷
数据加载中...
 
   



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

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