模糊C代码分析-1984

原创 2007年09月30日 12:07:00

i;main(){(;i[];read(-,/
i+++,/));}read(j,i,p){write/
(j/p+p,i---j,i/i);}
[原创文章,转载请保持文章完整,并注明出处。更多精彩文章请访问http://blog.csdn.net/Jupin 或者 http://hi.baidu.com/qiupingwu]
  这是年模糊C语言大赛的一个程序,整理一下格式:
i;
main()
{

(
;
i[];
read
(
-,
i++ + ,
/
)
);
}

read(j, i, p)
{
write(j/p+p, i-- -j, i/i);
}
  可以看出这是由一个子函数加一个主函数组成的。根据C语言的默认
规则, i初始值为零。
  main函数中只有一个空循环语句,先来分析一下这个循环语句。
i[];
  下标是一个字符串常量,其值为指向这个字符串第一个字母的指针,
假设为P,则该句等价于
i[P]
  表示以i为基址,偏移P处的内容,当然这可以等价于以P为基址,
偏移i处的内容,即又可表示为
P[i]
  因此这个循环判断语句的实际语义是从左至右依次取出字符串常
量中的字符,当取到字符串的最后字符时,返回,从而起到控制循
环次数的作用--次数为字符串的长度。
  循环的实际操作放在如下语句完成:
read
(
-,
i++ + ,
/
)
  显然,read函数的第一、三个参数是固定的,分别为和,第
二个参数在各次循环执行时分别传入指向常
量字符串的各个字符的指针的值加。
  在read函数中执行系统调用write完成内容输出。根据对
main的函数的分析,可以得到传给write的参数为(, p, );
其中p为指向字符的指针。由write系统调用的参数意义,表示
标准输出,表示每次写入长度为,因此它在这里的每次调用均
输出中的一个字符,直至字符串结束。

  
  3.141592653589793238462643383279

ucoss中os-tmr.c中的代码分析

  • 2017年07月21日 14:40
  • 51KB
  • 下载

keil下的s3c2440启动代码分析

  • 2013年04月28日 21:38
  • 144KB
  • 下载

国际C语言混乱代码大赛所有得奖源码 1984----研究分析

anonymous.c 源码:int i;main(){for(;i["]

1基于S3C2440的启动代码分析.pdf

  • 2013年01月16日 11:59
  • 183KB
  • 下载

S3C2440启动代码分析详细讲解

  • 2012年11月01日 01:59
  • 154KB
  • 下载

S3C2440启动代码分析

;==;========================================= ; NAME: 2440INIT.S ; DESC: C start up codes ; ...

C/C++代码分析、阅读

  • 2008年11月23日 23:55
  • 3.97MB
  • 下载

s3c2410(ARM9)启动代码分析

  • 2010年06月11日 09:58
  • 15KB
  • 下载

基于dragonboard410c 家庭智能环保卫士之PM2.5模块代码分析

前言:
  • weijory
  • weijory
  • 2017年03月09日 13:45
  • 743
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模糊C代码分析-1984
举报原因:
原因补充:

(最多只允许输入30个字)