本帖最后由 jackz007 于 2019-2-22 17:35 编辑
根据要求,总共可以找出 1 个,位置在第 43 字节处。
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- main(void)
- {
- union c2i {
- char c[8] ;
- int i[2] ;
- } * p ;
- char d[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x07,0x09,\
- 0x00,0x20,0x10,0x03,0x03,0x0C,0x00,0x00,0x44,0x00,\
- 0x00,0x33,0x01,0x00,0x00,0x08,0x00,0x00,0x00,0x00,\
- 0x00,0x00,0x00,0x02,0x64,0x00,0x00,0x00,0xAA,0x00,\
- 0x00,0x00,0x64,0x01,0x00,0x00,0x00,0x08,0x00,0x00,\
- 0x00,0x00,0x02,0x00,0x74,0x0F,0x41,0x00,0x00,0x00,\
- 0x01,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x0A,0x00,\
- 0x00,0x02,0x57,0x4F,0x57,0x00,0x06,0x08,0x00,0x00,\
- 0x00,0x00,0x00,0x64,0x00,0x0F,0x00,0x00,0x0D,0x00,\
- 0x00,0x00,0x23,0x00,0x00,0x64,0x00,0x00,0x64,0x00 } ;
- int k , m , n ;
- m = 100 ;
- k = 0 ;
- n = 0 ;
- while(k < m - 8) {
- p = (union c2i *) & d[k] ;
- if(p -> i[0] == 1 && p -> i[1] == 8) {
- n ++ ;
- printf("%d : d[%d]\n" , n , k) ;
- k += 7 ;
- }
- k ++ ;
- }
- }
复制代码
运行情况:
F:\[2019]\00.00.Exercise\C\Array>x
1 : d[43]
F:\[2019]\00.00.Exercise\C\Array> |