我正在学习C语言中的全局变量,这本书是《C编程现代方法》.
下面是书中的一个例子,为什么对多个函数使用相同的全局变量是个坏主意.
假设我先调用函数print_one_row
,然后调用函数print_all_rows
.
程序进入函数print_all_rows
,将i
设置为1,调用函数print_one_row
,然后调用函数increments 101 to 12 instead of 2.
如果我将i
的值改为1,为什么它会从i
增加到12而不是2?
int i;
void print_one_row(void)
{
for (i = 1; i <= 10; i++)
printf ("*" ) ;
}
void print_all_rows(void) {
for (i = 1; i <= 10; i++) {
print_one_row();
printf ("\n") ;
}
}