在C语言中,我们知道放在函数中的普通变量的值只能通过return语句返回值,但是如果只是把复合语句放在主函数中,则复合语句中的变量定义又该如何呢?我们来看下边一个例子:
#include <conio.h> #include <stdio.h> int main(){ int a=3,b=2,c=1; clrscr(); printf("[1]: %d, %d, %d\n", a, b, c); { int b=5; int c=12; printf("[2]: %d,%d,%d\n",a,b,c); } printf("[3] %d,%d,%d,",a,b,c); getch(); return 0; }
结果是什么呢。在Turob C中的运行结果为:
[1]: 3, 2, 1 [2]: 3,5,12 [3] 3,2,1
可以看出,在复合语句(8-12行的部分)中,被重新定义的变量,就使用新定义的值,若在复合语句中没有被重新定义,就使用函数中原来的值。
—完—