楼主,你的程序貌似不是输出杨辉三角吧?你的代码问题出在递归函数的调用上。for(i=1;i<=size;i++) { n=i; m=20-n; for(k=1;k<=m;k++) printf(" "); s=fact (n)/(fact (m)*fact (n-m)); //这里,当n for(j=1;j<=n;j++) printf("%d",s); printf("\n"); }}