xong77 发表于 2009-4-26 11:45:54

这个C语言真难懂有高手指点指点

id move(void){
        uchar *m,i,j;
                for(i=0;i<16;i++){
                        for(j=0;j<7;j++){       
                                m=&buffer;
                                *m=*m<<1;
                                *m=*m|*(m+1)>>7;                       
                        }
                        buffer=buffer<<1;
                }
}

longquan 发表于 2009-4-26 13:45:01

两个循环嵌套,构成一个扫描指针,我也是菜的,说不清楚

dzyong 发表于 2009-4-26 16:39:33

http://store.taobao.com/shop/view_shop-8bf756eacc7534d2bf4ec12c2118c484.htm?nekot=g%2Czdynlvom5th4e1240717406725

zhangjinxing 发表于 2009-4-26 17:56:18

这个程序有点问题吧
应该是:
id move(void){
      uchar *m,i,j, temp;
                for(i=0;i<16;i++){
                        for(j=0;j<7;j++){         
                              m=&buffer;
                              temp = *(m+1);
                              *m=*m<<1;
                              *m=*m|temp>>7;                        
                        }
                        buffer=buffer<<1;
                }
}
buffer是一个16行8列的uchar数组,经过程序处理后,使得每一行的8列uchar数据左移位;
a0a1a2a3a4a5a6a7, b0b1b2b3b4b5b6b7, c0c1c2c3c4c5c6c7..........经过程序后得到
a1a2a3a4a5a6a7b0, b1b2b3b4b5b6b7c0, c1c2c3c4c5c6c7d0..........

xong77 发表于 2009-5-3 07:34:06

谢谢我懂了
页: [1]
查看完整版本: 这个C语言真难懂有高手指点指点