| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1716 人关注过本帖
标题:关于for依赖外部循环的问题,求详细解析?
取消只看楼主 加入收藏
jenq
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-4-9
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:1 
关于for依赖外部循环的问题,求详细解析?
程序代码如下:
#include<stdio.h>
#define ROWS 6
#define CHARS 6
int main(void)
{
    int row;
    char ch;
    for(row=0;row<ROWS;row++)
    {
        for(ch=('A'+row);ch<('A'+CHARS);ch++)
        printf("%c",ch);
        printf("\n");

    }
    return 0;
}
输出结果:
第一行 ABCDEF  
第二行 BCDEF
第三行 CDEF
第四行 DEF
第五行 EF
第六行 F


第一行输出:ABCDEF 没疑问
第二行输出为什么会是BCDEF ?不是CE  
ROW为6,row小于6,执行6次由0-5,输出为六行。
第二行输出开始第一个ch输出的值不是等于 ch=('A'+row), 然后再执行(ch++)。ch=('A'+1)+1  最终的值等于C后面printf(“c%”,ch);再叠加直到小于(‘A’+CHARS)=G为之前的值F为止,第二行第一个值如果为C接着输出的值不是(C+2)=E  

搜索更多相关主题的帖子: for 解析 row printf 输出 
2018-04-11 23:01
jenq
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2018-4-9
收藏
得分:0 
补充问题是否在于运算符优先级?
2018-04-11 23:06
快速回复:关于for依赖外部循环的问题,求详细解析?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014558 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved