发现一个事,不太理解。
程序代码:
#include "stdafx.h" #include<stdio.h> #include<stdlib.h> #define N 10 int main() { unsigned int i,j,k;//i是行数,j是每行元素数。 unsigned int b,c; unsigned int d=1; for(i=0;i<N;i++) { for(j=N;j>i;j--) printf(" "); for(j=0;j<=i;j++) { b=c=1;//这里开始对杨辉3角内部每行元素与其行数,列位的关系进行运算。 if(j>=1) { for(k=i-j+1;k<=i;k++) b*=k; for(k=1;k<=j;k++) c*=k; d=b/c;//到这里运算结束 } printf("%4d",d);//输出 } printf("\n"); } system("pause"); }为什么给D一个初始值就能没问题呢?而没有初始值就会出现问题呢?
vs2010编译。