作用域和杨辉三角
1、局部变量的代码块作用域
(1)代码块基本可以理解为一对大括号{}括起来的部分;
(2)代码块不等于函数,因为if while for都有{};
(3)局部变量的作用域是代码块作用域,也就是说一个局部变量可以被访问的范围为定义该局部变量开始到代码块结束。
2、函数名和全局变量的文件作用域
(1)文件作用域的意思就是全局的访问权限,也就是说整个.c文件中都可以访问这些东西;
(2)函数和全局变量的作用域为.c文件中定义位置开始到文件结束。
3、同名变量的掩蔽规则
(1)如果两个同名变量作用域不同,没有影响;
(2)如果作用域有交叠,作用域小的变量会掩蔽掉作用域大的那个。
杨辉三角
int main(void)
{
int i, j, a[17][17] = { 0 };
int n = 0;
while (n < 1 || n>16)
{
printf("请输入杨辉三角形的行数:");//不超过17行
cin>>n;
}
for (i = 0; i < n; i++)
a[i][0] = 1;
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 (int p = 0; p < n-i; p++)
{
printf(" ");
}
for (j = 0; j <= i; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
system("pause");
return 0;
}