c语言中的while语句为什么后边有的能加分号,有的不能?这是为什么?

例如:#include<stdio.h>main(){inti,a,n=1;while(n<=7){do{scanf("%d",&a);}while(a<1||a>50)... 例如:#include<stdio.h>
main()
{
int i,a,n=1;
while(n<=7)
{
do{
scanf("%d",&a);
}
while(a<1||a>50);
for(i=1;i<=a;i++)
printf("*");
printf("\n");
n++;
}
}
展开
 我来答
风若远去何人留
2015-10-09 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450121
专业C/C++软件开发

向TA提问 私信TA
展开全部
while语句为C语言的循环语句,当while后括号内的条件成立(为真)时,会执行循环体,否则会退出循环。
当while写作
while(expr)
{
...

}
时,所有{}内部的代码组成循环体。
如果不包含大括号时,while的循环体为其接下来的一个语句。

C语言规定,一条语句是以分号(;)作为结束符的,所以如果写作
while(expr);
那么while的循环体就是空的,也就是没有循环体,这时需要在expr中做数据的修改操作,使得expr有假的可能。如果不存在这样的修改,除非expr恒为假,否则该语句将成为死循环。
匿名用户
2013-07-22
展开全部
while(n<=7)这个没有分号,所以后面的花括号里面的是循环体。Do{}while(a<1||a>50);这个因为while在循环后面,所以需要一个;表示语句结束。 有时候如果只是一个空while循环,后面只是一个空语句,也是加一个;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-22
展开全部
循环里while(){} 这个时候不用加括号如果是do {} while(); 这个时候要加括号你一旦while()加了括号说明这个循环就在括号里结束了,不执行()外的操作!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-22
展开全部
好象都是没分号的吧。!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-22
展开全部
这个....怎么和你说呢 就是和活用公式的原理一样 不好说 但是自己明白
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式