c语言 for语句与for语句之间 加大括号 为什么会有区别
3个回答
展开全部
楼上正解,对于你的追问,下一条语句是指下一个“;”号出现之前的所有语句。第一for()语句包含了第二for()语句和他的执行部分,所以出现了大量的空格。第二个for()语句则只包含了一个 printf(" "); 语句。第一个for()语句则让第二个for()语句执行了3次。第三个for()语句只包含了一个printf("*"); 语句。本来第一个for()语句加 {中括号} 的原意是让第二个for()语句、第三个for()语句和printf("/n"); 换行语句各顺序执行三次的。变成了只有第二个for()语句执行了3次。其他的都只执行了一次。说了这么多,也不知道你听明白了没有。不明白再HI我吧。
“单片机高手团”为您解答。
“单片机高手团”为您解答。
追问
第三个for语句执行时 i取值为多少 为什么最后是输出的7个*(其实我刚才都看错了 我以为第二个的*是第一个加起来的个数)
展开全部
当然了啊,正常for()语句不加{ }的话只能是对下一条语句起作用,
for()后面加上{ }之后,对{ }里面的语句都有作用的。这样就能很简单的看出你程序加{ }跟不加{ }的区别了~
for()后面加上{ }之后,对{ }里面的语句都有作用的。这样就能很简单的看出你程序加{ }跟不加{ }的区别了~
更多追问追答
追问
所谓下一条语句是不是指接下来的两个for语句 而不包括 换行语句
追答
for()是跟接下去的一个语句连成一体的,因为for()是循环语句,所以for()后面一句是要循环的内容。。。
注意:这里的“一句“很有考究,这也是你为什么会弄错的原因。
正常情况下”一句”就是一句,比如printf(“Hello!”);
“一句”也可以是 for(i=0;i<n;i++)
s=s+i;
因为之前说过for()跟接下去的一句是一个整体,所以对于for()而言 for(i=0;i<n;i++)就是“一句”
s=s+i;
还有就是有{ }的情况下,整个{ }里面的内容算“一句”。
懂了吗???
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不加,只对一条语句起作用,
加了,对大括号里都起作用
加了,对大括号里都起作用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询