for循环带花括号和不带有什么区别啊

代码如下for(i=1;i<=k;i++){for(j=1;j<=23;j++)cout<<"";for(j=1;j<=8-i;j++)cout<<"";for(j=1;... 代码如下
for(i=1;i<=k;i++)
{
for(j=1;j<=23;j++)

cout<<" ";

for(j=1;j<=8-i;j++)

cout<<" ";

for(j=1;j<=2*i-1;j++)

cout<<'*';
cout<<endl;

}
这个是正确输出的代码,然后我将第一个for里面的for循环后面都带花括号输出就乱了,这是为什么呢
展开
 我来答
百度网友3cd7480
推荐于2017-11-24
知道答主
回答量:6
采纳率:0%
帮助的人:3.8万
展开全部
比如当i=1时,带花括号表示程序重头到尾都执行一次再i++(即输出endl后在i++)。不带花括号时程序将在输出第一个空格后执行i++,即当i等于k+1后才执行
for(j=1;j<=8-i;j++)
cout<<" ";
追问
您能详细讲讲,从i=1到i=2 各个for是如何执行的吗?限制性那个后执行那个,每个for执行几次他的循环体。谢谢了
追答
如果没有括号先执行i=1,再执行j=1到j=23,再执行i=2,再执行j=1到j=23,反复如此,直到i=k+1,第一个循环结束,在执行for(j=1;j<=8-i;j++){cout<<" ";}
如果有花括号先执行i=1,再执行j=1到j=23(第二个循环体),再执行j=1到j=8-1(第三个循环体),再执行j=1到j=2*1-1(第四个循环体),再输出换行,到此第一个大的循环结束,开始执行i=2.
kaixingui2012
2011-08-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6895万
展开全部
用花括号括起来的语句被看作一个语句体。
正常情况下,C以;(分号)来区分一个语句体。

for , while , if...else 等流控命令后,只能跟一个语句体,所以,如果想执行多个则用花括号括起来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flydream3618
2011-08-28 · TA获得超过173个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:170万
展开全部
带花括号代表整个花括号 内是一个循环体,

不带则只执行其后的一条语句。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
breakwang
2011-08-28
知道答主
回答量:39
采纳率:0%
帮助的人:20.4万
展开全部
for(i=1;i<=k;i++)
{
for(j=1;j<=23;j++)
{
cout<<" ";
}
for(j=1;j<=8-i;j++)
{
cout<<" ";
}
for(j=1;j<=2*i-1;j++)
{
cout<<'*';
}
cout<<endl;

}
这样就乱了???你用的什么IDE啊,我的怎么没事,我用VC++6.0 和codeblocks
追问
w我用的也是vc6.0 我这里确实是乱的 ,不是预想结果,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式