while语句的一点疑惑!!!各位大神帮忙看看吧
#include<stdio.h>
int main()
{
int i,j,n,a[20][20]={0,1};
//while(n<1||n>19)
//{
printf("请输入行数:\n");
scanf("%d",&n);
//}
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<=n;i++)
{
for(j=1;j<=i;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n");
return 0;
}
上面那句while我怎么看这是错的啊,去掉后也不影响结果啊,求大神们指教啊,
n一开始值不确定啊,怎么能够做判断呢? c语言?,while语句
[解决办法]
while是希望用户输入的n
是处于1 <= n <= 19的范围内
如果用户输入的不在这个范围
则要求重新输入
[解决办法]
n有自己的范围的,必须是0到19之间,输入不在这个范围内则无法运行。
[解决办法]
i,j,n未初始化,值不确定就使用,这种行为未定义
[解决办法]
n要求范围是[1,19],如果不是则重新输入,只是开始n为随机值所以一般不会刚好落在[1,19],楼主可以输入20试试看。
改成下面可能更好理解一点:
do{
printf("请输入行数:\n");
scanf("%d",&n);
}while(n<1
[解决办法]
n>19);