易截截图软件、单文件、免安装、纯绿色、仅160KB

C代码混淆之旅

从天堂走向地狱的六部... 1
第一步、把for变成while. 2
第二步,把循坏变成递归... 2
第三步,弄乱代码结构/使用没有含义的变量名... 3
第四步,取消临时变量... 3
第五步,继续弄乱变量名... 4
第六步,移除常量... 4
 
从天堂走向地狱的六部
开始程序
下面是一个找出素数的程序:
 
查看源代码打印帮助
void primes(int cap) 
  { 
     int i, j, composite; 
     for(i = 2; i < cap; ++i) { 
 
         composite = 0; 
         for(j = 2; j * j < i; ++j) { 
             composite += !(i % j); 
         } 
 
         if(!composite){ 
             printf("%dt", i); 
         } 
     } 
 } 
 
 
 int main() 
 { 
     primes(100); 
 }
 
下面我们来看看如何把上面这段代码搞得复杂难懂。
 
第一步、把for变成while
通常来说,for循坏要以while循坏简单一些,上面的程序有二重for循环,我们不但要把其变成while循环,而且还要把二重循环的变成一重的循环,然后使用大量的if-else语句来判断。
 
查看源代码打印帮助
void primes(int cap) 

    int i, j, composite, t = 0; 
  
    while(t < cap * cap) { 
        i = t / cap; 
        j = t++ % cap; 
        if(i <= 1); 
        else if(!j) 
            composite = j; 
&nbs


相关文档:

用c写个控制台下的进度条

最近想写个控制台下的进度条,可以知道程序的进展情况,不用弄个界面。其中最主要的就是“\b“字符,它的ascii码值是10,是退格的意思。
现把代码贴上,如下(可以在vc和linux编译):
progress.c
#include <stdio.h>
#ifdef _WIN32
#include <windows.h>
#define mysleep(n) Sleep(n*1000)
......

jstl标签: c:Foreach详解

 
为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行的本体内容。
   为循环控制,它可以将集合(Collection)中的成员循序浏览一遍。运作方式为当条件符合时,就会持续重复执行的本体内容。
  语法
  语法1:迭代一集合对象之所有成员
  <c:forEac ......

[C]C语言基础巩固专题 const

const 是在程序中非常重要。在这里我做一下简单的介绍。
1.const 基础
  const有两种形式:
  a) const Type var;
     如:int a =10;const int * var=&a; 那么var就是常量指针,表明是指向常量的指针,也就是说a的值不能改变。
        ......

深入理解C/C++函数指针

转:http://school.ogdev.net/ArticleShow.asp?categoryid=10&id=6019
函数指针数组的妙用
笔者在开发某软件过程中遇到这样一个问题,前级模块传给我二进制数据,输入参数为 char* buffer和 int length,buffer是数据的首地址,length表示这批数据的长度。数据的特点是:长度不定,类型不定,由第一个字节(buffer[0] ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号