c#编译器对if后面不加大括号{}是怎么判断的

 我来答
376710727
2016-12-28 · TA获得超过8937个赞
知道大有可为答主
回答量:2593
采纳率:100%
帮助的人:1273万
展开全部
if( a == true)
{
    x= 1;
    y =2;
    z = 3;
}
if( a==true)
 x= 1;
 y =2;
 z = 3;

两种写法编译器都是识别的。区别在于: 

第一种写法, 进入a == true 时,三句代码都会依次执行,a!=true 时,三句都不执行。

第二种写法(不带括号), 当 a == true 时,三局代码也都会执行。

但是当a!=true时, y  =2 ;z =3;仍会执行。 

也就是说, 当if()后面没有大括号时, 编译器默认把一个大括号扩在其下方第一句代码上。 

if( a==true)
 x= 1;
 y =2;
 z = 3;


编译后 相当于:

if( a==true)
 {x= 1;}
 y =2;
 z = 3;

百度网友79d5913
2016-12-28 · TA获得超过2245个赞
知道大有可为答主
回答量:1325
采纳率:83%
帮助的人:275万
展开全部
只会执行第一条遇到分号结束的语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式