经典代码

 1 for (A;B;C) D;
 2 //等价于
 3 {
 4  A;
 5  while (1) {
 6   if (!(B)) break;
 7   D;
 8   C;
 9  }
10 }
for(;i;i--)这是什么?
1、这样的写法,一般i在for之前有正确的初始值;
2、i--表示每次循环之后,i的值减一;
3、i表示如果i的值为0则结束该for循环。

 

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <conio.h>
 4 FILE *fi,*fo;
 5 int i;
 6 int main(int argc,char **argv) {
 7     if (argc<3) {
 8         printf("Usage:%s src des\n",argv[0]);
 9         return 1;
10     }
11     if (0==stricmp(argv[1],argv[2])) {
12         printf("Src and des is same!\n");
13         return 2;
14     }
15     fo=fopen(argv[2],"wb");
16     if (NULL==fo) {
17         printf("Can not create file %s\n",argv[2]);
18         return 3;
19     }
20     fi=fopen(argv[1],"rb");
21     if (NULL==fi) {
22         fclose(fo);
23         printf("Can not find file %s\n",argv[1]);
24         return 4;
25     }
26     i=0;
27     fseek(fi,-1L,SEEK_END);
28     while (1) {
29         fputc(fgetc(fi)^0x5A,fo);
30         i++;
31         if (i%1000000==0) cprintf("\r%dKB",i/1000);
32         if (fseek(fi,-2,SEEK_CUR)) break;
33     }
34     fclose(fi);
35     fclose(fo);
36     cprintf("\r%dKB OK.\r\n",i/1000);
37     return 0;
38 }

 

posted @ 2013-06-29 01:17  herizai  阅读(298)  评论(0编辑  收藏  举报