本帖最后由 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> |