| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1502 人关注过本帖
标题:用指针数组输出字符串
只看楼主 加入收藏
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:2 
用指针数组输出字符串
程序代码:
#include <stdio.h>
#include <string.h>

#define HEIGHT 7  // 根据下面定义,每个字母高度均是7行

const char *letters[] = {
"\
\########@\
\##      @\
\##      @\
\######  @\
\##      @\
\##      @\
\##      @\
",
"\
\####@\
\ ## @\
\ ## @\
\ ## @\
\ ## @\
\ ## @\
\####@\
",
"\
\ ###### @\
\##    ##@\
\##      @\
\ ###### @\
\      ##@\
\##    ##@\
\ ###### @\
",
"\
\##     ##@\
\##     ##@\
\##     ##@\
\#########@\
\##     ##@\
\##     ##@\
\##     ##@\
",
"\
\ ###### @\
\##    ##@\
\##      @\
\##      @\
\##      @\
\##    ##@\
\ ###### @\
"
};

int main()
{
        
    int i,j,k;
    int gap;
    int len;
    int line;
    int temp;

    printf("请输入字母的间隔(空格数):");        // 此程序输出 FISHC 五个字符,此句让你给出字符之间的间隔
    scanf("%d", &gap);

    for (i = 0; i < HEIGHT; i++)                 // 一行一行打印
    {
        for (j = 0; j < 5; j++)                  // 打印所有字母的某一行
        {
            k = 0;                               // k 用于迭代每一行的‘#’字符
            len = strlen(letters[j]) / HEIGHT;   // 计算出该字母每一行有多少个字符
            line = i * len;                      // 计算当前打印第几行
            while (letters[j][line + k] != '@')  // @ 这个字符标志着该行结束
            {
                putchar(letters[j][line + k]);
                k++;
            }
            temp = gap;                          // 打印字母间的间隔(空格)
                while (temp--)
                {
                    putchar(' ');
                }
        }
        putchar('\n');
    }
    return 0;
}


没有行号,表述就麻烦一点了:
1、定义一个指针数组,却没有看到在程序中使用指针,那么这个指针数组到底起到了什么作用?
2、打印所有字母的某一行:明明每个字母都是7行,这里为什么 j < 5,只有5行?
3、计算出该字母每一行有多少个字符:为什么是除以每个字母的高度 HEIGHT ?


[此贴子已经被作者于2020-9-16 09:53编辑过]

搜索更多相关主题的帖子: int 指针 字母 一行 字符 
2020-09-16 09:34
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:20 
代码有问题 每行开头的 \是多余的 应该去掉

1 所有letters[]都是指针
2 5是5个字符
3 那就是一个简单的数学问题了 每行用的字符个数相同 一共有7行 全部字符就是 每行用的字符个数*7
strlen计算得到全部字符 全部字符/7 就是 每行用的字符个数
请问 这个小学四年级的数学问题为什么需要提问?

https://zh.
2020-09-16 10:31
风过无痕1989
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:8
帖 子:228
专家分:1050
注 册:2020-7-17
收藏
得分:0 
回复 2楼 lin5161678
我肤浅了,正在通过学习加深,等我达到你的水准,或许也能用这种口气与人交流了
2020-09-18 15:17
快速回复:用指针数组输出字符串
数据加载中...
 
   



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

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