2937位段-协议构造

2937   位段-协议构造

题目描述

补充代码,满足报文协议的封装要求。报文协议如下:

目的地址

源地址

处理类型

数据

结束符

2bits

2bits

4bits

16bytes

1bytes

1000表示请求

1001表示应答

1010表示数据

1011未定义

传输的数据

固定为0x75

填充的报文内容如下:

目的地址

源地址

处理类型

数据

结束符

用户输入

用户输入

用户输入

0x000x010x02…0x0E0x0F

0x75

 

待修改代码如下:

#include <stdio.h>

 

//定义报文格式

struct head

{

        //!!按照报文协议标准定义位段

};

 

int main( )

{

    struct head one;

        int dst, src, type;

    int i;

 

        scanf("%x%x%x", &dst, &src, &type);

    //!!读取用户输入的头部数据,填充到报文指定位段

 

   

        for(i=0;i<16;i++)

    {

        one.data[i] = i;

    }

    one.tail = 0x75;

 

    //按照字符方式输出

    {

        unsigned char *p = &one;

        for(i=0; i<sizeof(one); i++)

        {

            printf("%02x", *(p+i));

        }

        printf("\n");

    }

   

    return 0;

}

输入格式:

目的地址 源地址 处理类型

输出格式:

报文数据

输入样例 复制
0x3 0x1 0xA
输出样例 复制
a7000102030405060708090a0b0c0d0e0f75

说明

2
8
通过提交
时空限制1000ms/128mb
题目来源YW
评测方式在线评测
题目类型基础入门
难        度