八位数组是 01 02 03 04 05 06 07 08 一位数组是 00 我希望的72位数组里面的数据是 01 02 03 04 05 06 07 08 00 这样循环八次,请以这个逻辑用c语言编写代码
时间: 2024-03-12 17:49:19 浏览: 59
可以按照以下的代码实现:
```c
#include <stdio.h>
int main() {
unsigned char data[72] = {0}; // 声明并初始化数组,全部赋值为0
unsigned char eightBitData[8] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; // 假设这是八位数组
unsigned char oneBitData = 0x00; // 假设这是一位数组
// 依次存入数据
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
data[i * 9 + j] = eightBitData[j];
}
data[i * 9 + 8] = oneBitData;
}
// 打印存储结果
for (int i = 0; i < 72; i++) {
printf("%02x ", data[i]);
if ((i + 1) % 8 == 0) {
printf("\n");
}
}
return 0;
}
```
这里使用了一个八位数组和一个一位数组,然后依次存入数据。每次跨越9个元素,因为每次需要存储8位数据和1位数据,第二个循环用于按位赋值。最后用一个循环打印出存储结果,其中 `%02x` 表示以十六进制输出两位字符,不足两位用0补齐。
阅读全文