飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5248|回复: 5

关于代码赋初值

[复制链接]
  • TA的每日心情
    开心
    2024-12-31 00:26
  • 签到天数: 77 天

    [LV.6]常住居民II

    发表于 2015-2-3 16:56:57 | 显示全部楼层 |阅读模式
    本帖最后由 冷月孤心 于 2015-2-4 16:19 编辑
    1. main()
    2. {
    3.         int a = 80;         
    4.         int b = 24;        

    5.         int i = 1 ;      
    6.         int j = 1;  
    7.                

    8.         for( i = 1; i <= b; i++)      
    9.         {
    10.                 for( j = 1; j <= a; j++)      
    11.                 {
    12.                         if(i==1||i==b || j==1 || j==a )      
    13.                         {
    14.                             printf("*");        
    15.                         }
    16.                                                 else if(j==a)
    17.                                             {
    18.                                                     printf("\n");
    19.                                             }
    20.                         else        
    21.                         {
    22.                             printf(" ");
    23.                         }
    24.                                        
    25.                 }
    26.                                        

    27.         }
    28.                 getch();

    29. }
    复制代码

    循环体中赋初值一定需要写在括号里,申请空间的时候赋的初值由于在循环中变量值自增而变化了,就不能按照先前的赋值来计算。
    这是一组结果视图:
    QQ图片20150203165235.png QQ图片20150203165448.png
    再来一组:
    QQ图片20150203170019.png QQ图片20150203165501.png


    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-9-26 10:34
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    发表于 2015-2-4 08:36:45 | 显示全部楼层
    for循环体的逻辑解释:
    以下是for循环体示例:
    for(i = 1;i <=b  ;i++)
    {
       .....................
       .....................
    }

    我们看上面的单层for循环体,有下面的图示来表示会更清晰:

    i=1;
    :a // 此处是标号
    if (i>b) goto :end   //条件符合,跳转到结束
    ...........
    ...........  //循环执行的语句.
    i=i+1;
    goto :a //跳转到标号a执行
    :end

    上面的goto就是汇编里的jmp

    明白上面的逻辑之后,再分析嵌套的for循环体就容易理解了.

    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

    该用户从未签到

    发表于 2015-2-3 21:14:28 | 显示全部楼层
    从逻辑上去理解 for 第一步做什么第二步第三步第四步
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-2-3 21:14:34 | 显示全部楼层
    从逻辑上去理解 for 第一步做什么第二步第三步第四步

    点评

    谢谢指点,现在能理解它了。  详情 回复 发表于 2015-2-3 22:46
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-12-31 00:26
  • 签到天数: 77 天

    [LV.6]常住居民II

     楼主| 发表于 2015-2-3 22:46:41 | 显示全部楼层
    Nisy 发表于 2015-2-3 21:14
    从逻辑上去理解 for 第一步做什么第二步第三步第四步

    谢谢指点,现在能理解它了。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-4-1 09:59
  • 签到天数: 76 天

    [LV.6]常住居民II

    发表于 2015-2-3 23:56:34 | 显示全部楼层
    本帖最后由 theend 于 2015-2-4 16:27 编辑
    1. #include <stdio.h>

    2. main()
    3. {
    4.         int a = 50;         //长,列数
    5.         int b = 20;        //高,行数
    6.         
    7.         int i = 1 ;        //控制行数:i
    8.         int j = 1;        //控制列数
    9.         
    10.         for( i = 1; i <= b; i++)        //行循环
    11.         {
    12.                 for(j = 1; j <= a; j++)        //列循环
    13.                 {
    14.                         if(i == 1 || i == b || j ==1 || j ==a)        //首行、末行, 首列,末列打印星号;
    15.                         {
    16.                                 printf("*");        
    17.                         }
    18.                         else        //其它打空格
    19.                         {
    20.                                 printf(" ");
    21.                         }
    22.                 }
    23.                 //printf(" 第%d行", i);
    24.                 printf("\n");
    25.         }
    26.         getch();
    27. }
    复制代码


    我也来凑凑热闹(个人感觉我的标注比较容易理解for循环),哈哈

    谢谢冷月牛牛的细致,又学到了~~

    PS: 贴错代码了,哈哈, Fixed

    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表