一个“;”的为什么.

spmzfz 2009-04-13 09:49:51
while (true) { }
do { } while (true);
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};

为什么 while (true) { } 语句后不限定带分号。
而do { } while (true)和 enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}语句后必须带分号。
...全文
115 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2009-04-13
  • 打赏
  • 举报
回复
这个是语法.
蔡袅 2009-04-13
  • 打赏
  • 举报
回复
LZ 这样理解也行的
排除语法规定,因为while只是一个条件 并不能单独成句只是一个代码执行块,do while 是丢掉了主语的一个简短句,告诉你做什么执行什么所以有必要符合习惯的用分号;

这样理解行吧 呵呵

至于下一个的话,枚举他包含了枚举内容也包含项的引用常量(没有设置默认从0开始),枚举结束也就是引用的结束了,是一个语句的结束了

行吧 哈哈哈
jie3614 2009-04-13
  • 打赏
  • 举报
回复
分号:; 指明一条代码语句的结束
花括号:{} (1)包含代码块,如类,命名空间,构造体(2)用做作用域的分隔符(3)用做数组初始化语句的部分
while (true){} //"}"表示包含代码块
do{ } while (true); //";"表示一条代码语句的结束
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; //"}"表示初始化语句的部分,";"表示一条代码语句的结束
zxjian 2009-04-13
  • 打赏
  • 举报
回复
语法的规定
cja03 2009-04-13
  • 打赏
  • 举报
回复
while (true){} //可以(不)带分号

int n=0;
;
;
;
n=1;

->

while (true){}; 后面的分号与 while 无关。

这是语法规定,你真想了解为什么,即为什么要这样设计(规定),请致电Microsoft。
spmzfz 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 tockboy 的回复:]
看看这里:http://192e.eicp.net/e/tool/gfen?n=tockboy
[/Quote]

给我滚出去!!!
surlew 2009-04-13
  • 打赏
  • 举报
回复
语法就是这样
spmzfz 2009-04-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 spmzfz 的帖子:]
while (true) { }
do { } while (true);
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};

为什么 while (true) { }  语句后不限定带分号。
而do { } while (true)和 enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}语句后必须带分号。
[/Quote]

不好意思,我还是搞错了,应该是:
while (true){} //可以(不)带分号
do{ } while (true); //必须带分号
enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri}; //可以(不)带分号

为什么呢?
cppfaq 2009-04-13
  • 打赏
  • 举报
回复
甲鱼的屁股--规定:)
jdbcodbc 2009-04-13
  • 打赏
  • 举报
回复
人家这么规定呗,你开发一个语言出来就按你的规定来呗
moonshineidolon 2009-04-13
  • 打赏
  • 举报
回复
语法就是这么规定的

zgke 2009-04-13
  • 打赏
  • 举报
回复
语法问题..

while(){
语句;
}语句


do
{
}
while();语句..





111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧