黑马程序员技术交流社区
标题: 关于for循环的问题 [打印本页]
作者: wy911011 时间: 2015-7-21 22:28
标题: 关于for循环的问题
第一次发帖子好紧张啊。关于for循环省略表达式问题。下面是输出星型矩阵,省略了内嵌for循环表达式1,结果无法输出矩阵,只能打印一行星,求大神解惑~
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
int j=0,i=0;
for (j=0; j<5; j++) {
for (; i<5;i++) {
printf("*\t");
}
printf("\n");
}
printf("\n");
return 0;
}
作者: llo 时间: 2015-7-21 22:33
规定 嵌套的不可以省略第一个语句
作者: 姜赛 时间: 2015-7-21 22:39
第二个for 循环有问题 再仔细查查资料
作者: CesC 时间: 2015-7-21 22:42
第二个for语句省略的原因
作者: 小林儿 时间: 2015-7-21 22:59
嵌套for不要把定义变量写在()外面。或者内层for()里面的i=0别省略
作者: wy911011 时间: 2015-7-21 23:04
有点道理,我在查一下资料~
作者: 慕名黑马生 时间: 2015-7-22 00:08
里层for循环第一次执行完后,i=5,在j自加后里层for循环进入不了。可以把int i=0;放到两层循环中间,问题解决
作者: 爱生活爱程序 时间: 2015-7-22 00:19
嵌套里省略第一个表达式省略,第二个for循环只能遍历一遍,所以只能输出一行
作者: Xia_ 时间: 2015-7-22 00:28
顶一个!
作者: huguozhang 时间: 2015-7-22 00:33
顶一个~~~~~~~
作者: chensc 时间: 2015-7-22 06:19
学习学习!
作者: lclofty 时间: 2015-7-22 07:11
内层for循环 表达式1不能省略 加上就好了
作者: 欢子 时间: 2015-7-22 08:04
赞一个!!!
作者: skywan 时间: 2015-7-22 09:09
内层for循环 省略第一个表达式i=0;外层循环一次后,i的值无法继续循环,需要初始化才能继续循环,也就是i=0不可缺少
作者: 408205555 时间: 2015-7-22 09:47
上面解释的都很好了
作者: 294250051 时间: 2015-7-22 09:56
能别省略别省略,书上省略的是给读者看的,告诉你们这里可以省略,但是可读性不强。不要觉得省略的最精简的东西就是最好的
作者: liusuizuoyou 时间: 2015-7-22 09:58
哈哈 当执行第二次外循环的时候 i==5
内循环就无法进行下去了
作者: 被水淹死的鱼 时间: 2015-7-22 10:21
全局变量i始终是0,所以只有一行~
作者: neobug 时间: 2015-7-22 11:31
听了这么多解释 还是不是很清楚, 如果 j 写到外面 为什么 结果不影响呢
作者: LSwbfil2015 时间: 2015-7-22 11:39
长知识了
作者: 后街男孩 时间: 2015-7-22 12:18
J=0时 i 第一次循环之后 i=5 当j=1时 i 未能重新赋值为0 所以里层不在循环了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |