A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wy911011 中级黑马   /  2015-7-21 22:28  /  1880 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第一次发帖子好紧张啊。关于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;
}



20 个回复

倒序浏览
规定   嵌套的不可以省略第一个语句
回复 使用道具 举报
第二个for 循环有问题 再仔细查查资料
回复 使用道具 举报
第二个for语句省略的原因
回复 使用道具 举报
嵌套for不要把定义变量写在()外面。或者内层for()里面的i=0别省略
回复 使用道具 举报
llo 发表于 2015-7-21 22:33
规定   嵌套的不可以省略第一个语句

有点道理,我在查一下资料~
回复 使用道具 举报
里层for循环第一次执行完后,i=5,在j自加后里层for循环进入不了。可以把int i=0;放到两层循环中间,问题解决
回复 使用道具 举报
爱生活爱程序 来自手机 中级黑马 2015-7-22 00:19:30
8#
嵌套里省略第一个表达式省略,第二个for循环只能遍历一遍,所以只能输出一行
回复 使用道具 举报
Xia_ 中级黑马 2015-7-22 00:28:41
9#
顶一个!
回复 使用道具 举报
顶一个~~~~~~~
回复 使用道具 举报
学习学习!
回复 使用道具 举报
lclofty 来自手机 中级黑马 2015-7-22 07:11:02
12#
内层for循环 表达式1不能省略 加上就好了
回复 使用道具 举报
欢子 来自手机 中级黑马 2015-7-22 08:04:47
13#
赞一个!!!
回复 使用道具 举报
内层for循环 省略第一个表达式i=0;外层循环一次后,i的值无法继续循环,需要初始化才能继续循环,也就是i=0不可缺少
回复 使用道具 举报
上面解释的都很好了
回复 使用道具 举报
能别省略别省略,书上省略的是给读者看的,告诉你们这里可以省略,但是可读性不强。不要觉得省略的最精简的东西就是最好的
回复 使用道具 举报
哈哈   当执行第二次外循环的时候  i==5  
内循环就无法进行下去了
回复 使用道具 举报
全局变量i始终是0,所以只有一行~
回复 使用道具 举报
听了这么多解释 还是不是很清楚, 如果 j 写到外面 为什么 结果不影响呢
回复 使用道具 举报
长知识了
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马