分类：电脑/网络-程序设计
问题：高手帮我解释一下2个C程序啊！#include&lt;stdio 
#include<std.h>#define N 1000   long s[N]={1,1},n=N,t=2,a=1,b=0;int main(){    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)        s[a]=(b+=s[a]*t)%10000,b/=10000;    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);  getch();    #include<std.h>#define N 1000   long s[N]={1,1},n=N,t=2,a=1,b=0;int main(){    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)        s[a]=(b+=s[a]*t)%10000,b/=10000;    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);  getch();    return 0;}这么几行就把1000!算出来了．----------------------------------------------#include<stdio.h>void main(char _){for(--_;putchar(_++["J!Mpwf!Zpv\1"]-1););}  学长泡妞时用的，我不小心看到．输出结果：I love you
回答：#include<stdio.h> 
void main(char _) 
{ 
for(--_;   putchar(_++["J!Mpwf!Zpv\1"]-1)   ;); 
} 

先分析他的for语句：
以";"划分

初始表达式:--_
循环条件表达式:putchar(_++["J!Mpwf!Zpv\1"]-1)
变量增值表达式: (空)
J前面是I
M前面是L
p前面是o
w前面是v
Z前面是e
p前面是y
v前面是o
f前面是u
都-1 就变成了I love you


void main(char _)这类函数是调用系统的函数
运行时系统自动传递参数
就像调用的*.h文件一样

第一题请楼下高手解答吧