
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循环后面都带花括号输出就乱了,这是为什么呢 展开
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循环后面都带花括号输出就乱了,这是为什么呢 展开
4个回答
展开全部
比如当i=1时,带花括号表示程序重头到尾都执行一次再i++(即输出endl后在i++)。不带花括号时程序将在输出第一个空格后执行i++,即当i等于k+1后才执行
for(j=1;j<=8-i;j++)
cout<<" ";
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.
展开全部
用花括号括起来的语句被看作一个语句体。
正常情况下,C以;(分号)来区分一个语句体。
for , while , if...else 等流控命令后,只能跟一个语句体,所以,如果想执行多个则用花括号括起来。
正常情况下,C以;(分号)来区分一个语句体。
for , while , if...else 等流控命令后,只能跟一个语句体,所以,如果想执行多个则用花括号括起来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
带花括号代表整个花括号 内是一个循环体,
不带则只执行其后的一条语句。
不带则只执行其后的一条语句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
{
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 我这里确实是乱的 ,不是预想结果,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询