在C语言中,我们知道放在函数中的普通变量的值只能通过return语句返回值,但是如果只是把复合语句放在主函数中,则复合语句中的变量定义又该如何呢?我们来看下边一个例子:#include
#include
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行的部分)中,被重新定义的变量,就使用新定义的值,若在复合语句中没有被重新定义,就使用函数中原来的值。
—完—
祭夜の咖啡馆 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:[笔记]C语言中关于复合语句的一些问题