row1990 发表于 2017-4-2 12:04:08

关于S1E19课后最后一题

#include <stdio.h>
#include <string.h>

#define NUM 128

int main()
{
        int ch, i, j = 0, max = 0;
        int input_num = 0;
        int ascii = { 0 };
        char count = "";

        printf("请输入英文文本:");

        while ((ch = getchar()) != '\n')
        {
                ascii++; // 字符对应的ASCII码加1
                input_num++;
        }

        for (i = 0; i < NUM; i++)
        {
                if (ascii)
                {
                        count = i;
                        if (ascii > ascii)
                        {
                                max = i;
                        }
                }
        }

        printf("你总共输入了%d个字符,其中不同的字符个数有%d个。\n", input_num, strlen(count));
        printf("它们是:%s\n", count);
        printf("出现次数最多的字符是\'%c\',它总共出现了%d次。\n", max, ascii);

        return 0;
}

其中ascii++这里我想了一晚上实在搞不懂。
这里输入字符对应的ASCII码+1我是理解,可是每输入一个相同字符就+1这里我无法理解是怎么实现的。
求讲解具体……

row1990 发表于 2017-4-2 12:08:35

提问的时候突然灵光一闪……如果是把他看成一个变量的话我大致是有点头绪了……
还请大神讲解让更多初学者看到。

原来C语言可以这么灵活的!

人造人 发表于 2017-4-2 12:11:04

其实字符就是一个数字
大写字母C,就是数字67

#include <stdio.h>

int main(void)
{
        char c = 'C';

        printf("%c\n", c);
        printf("%d\n", c);

        return 0;
}


C
67
请按任意键继续. . .

row1990 发表于 2017-4-2 12:17:14

人造人 发表于 2017-4-2 12:11
其实字符就是一个数字
大写字母C,就是数字67

跟我想的一样……补充一下,

意思就是:ascii[字符对应的ASCII码]++;

页: [1]
查看完整版本: 关于S1E19课后最后一题