在复合语句的头部,我们除了能使用外部的变量外,也可以直接声明新的变量,这样的局部变量的作用域将会是整个复合语句。对于一些只可能在复合语句内部使用的变量,我们就可以用这样的方法避免它的作用域扩散到外部,这有利于结构化编程。
复合语句的作用域
#include<iostream>
using namespace std;
//复合语句的作用域
int main()
{
//复合语句
if ( int a = 0 )
cout << "a的值为:" << a <<endl;
else
cout << "a的值为:" << a << endl;
//a在复合语句外不可见
//cout <<"a的值为:" << a << endl;
return 0 ;
}
示例展示了在条件语句头部定义变量的情况。a在条件语句中可见,而语句结束后自动销毁。如果我们删除最后打印语句的注释符,那么编译器会因为找不到a的定义而报错。
像这样
#include<iostream>
using namespace std;
//复合语句的作用域
int main()
{
//复合语句
if ( int a = 0 )
cout << "a的值为:" << a <<endl;
else
cout << "a的值为:" << a << endl;
//a在复合语句外不可见
cout <<"a的值为:" << a << endl;
return 0 ;
}
报错为:
如若本文对您有帮助,请点赞支持一下~
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务