第一次接触混乱代码,求大神指导解释
int i;main(){for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j,i/i);}
输出为:
hello,world!
</i;++i){--i;}"];read('-'-'-',i+++"hell\
2014-03-06 13:51
程序代码:#include <stdio.h>
int main()
{
for( int i=0; "hello, world!\n"[i]; ++i ) // "可填任意字符串,只要其strlen等于strlen(下面那个字符)就行"
putchar( "hello, world!\n"[i] );
return 0;
}
2014-03-06 14:27
2014-03-06 14:38
2014-03-06 14:48

2014-03-06 14:48
2014-03-06 14:52
2014-03-06 15:07
程序代码:// 分行断开好看一点.
int i;
main()
{ // for循环中, 语句1没有, 语句2是:i["]<i;++i){--i;}"]; 语句3是:read('-'-'-',i+++"hello, world!\n",'/'/'/')
for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\ // 从这里开始, i是全局变量, 值是0, C中值为0可以做指针,i["]<i;++i){--i;}"]这句,等于i[字符串], 等于i指向了方括号中的字符串首地址
// 字符串有14个字符, for循环14次, 循环体是空语句, 语句3是read()的函数调用.
// 再说read()函数调用, 第一个参数是'-'-'-', 等于('-') - ('-') 等于0, 第二个参数(i++)这里i自增, 循环的结束条件, 同时把
// 字符串hello, world!\n传递给read()函数, 第三个和第一个一样, 两边加上括号, 结果是1.
o, world!\n",'/'/'/'))
;
}
read(j,i,p) // j, i, p是主函数中for语句3 的函数调用的三个参数, j=0, i是字符串指针, p=1;
{write(j/p+p,i---j,i/i);} // write()函数是库函数, 第一个参数是1(应该表示标准输出), 第三个参数是1(表示一次输出一个字符),
所以程序是以库函数write()输出, 一次输出一个字符,
2014-03-06 16:17

2014-03-06 21:52

2014-03-06 22:12