| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 794 人关注过本帖
标题:关于《c程序设计》上一简单矩阵打印的例题的疑问
只看楼主 加入收藏
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
结帖率:100%
收藏
 问题点数:0 回复次数:3 
关于《c程序设计》上一简单矩阵打印的例题的疑问
#include<stdio.h>
int main()
{
    int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
    int*p;
    for(p=a[0];p<a[0]+12;p++)
    {if ((p-a[0])%4==0) printf("\n");
    printf ("%4d",*p);
    }
    printf("\n");
    return 0;
}

课本上正确的码如上,不理解的是红色字体部分。
程序不是按顺序读取语言的么
1.为什么不是先打印再另起一行,而是先检验是否需要另起一行再打印?
2.如果先另起一行再打印说得通的话,在循环的第一次(即*a[0]被打印出来),不应该就有另起一行么?

额,我表述得不大清楚,谢谢先!

[ 本帖最后由 fallenpeanut 于 2015-4-21 17:12 编辑 ]
搜索更多相关主题的帖子: 课本 return include c程序设计 
2015-04-21 17:10
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
收藏
得分:0 
#include<stdio.h>
int main()
{
    int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
    int*p;
    for(p=a[0];p<a[0]+12;p++)
    {printf ("%4d",*p);
    if ((p-a[0])%4==0) printf("\n");
    }

    printf("\n");
    return 0;
}

我的逻辑中这样是正确的,哪里出问题了?谢谢!
2015-04-21 17:13
fallenpeanut
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2015-4-8
收藏
得分:0 
懂了,第一个数和第四个数之间有三个间隔……
谢谢!

[ 本帖最后由 fallenpeanut 于 2015-4-21 17:26 编辑 ]
2015-04-21 17:23
jcg
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2015-4-16
收藏
得分:0 
可用一个条件表达式代替
2015-04-22 21:23
快速回复:关于《c程序设计》上一简单矩阵打印的例题的疑问
数据加载中...
 
   



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

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