| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1645 人关注过本帖
标题:书上一个数组例子的疑问
取消只看楼主 加入收藏
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
书上一个数组例子的疑问
/* 1.6 数组 */
/* 统计各个数字,空白符及其他字符出现的次数 */
#include <stdio.h>
main()
{
        int c, i, nwhite, nother;
        int ndigit[10];
        nwhite = nother = 0;
        for (i = 0; i < 10; ++i)                // 给数组的10个元素赋值
                ndigit[i] = 0;
        while ((c = getchar()) != EOF)
                if (c >= '0' && c <= '9')                                               // 这里不理解???
                        ++ndigit[c-'0'];

                else if (c == ' ' || c == '\n' || c == '\t')    //如果是空白符就给变量加一
                        ++nwhite;
                else
                        ++nother;                                                                       //不是数字,不是空白符给变量加一
        printf("digits =");
        for (i = 0; i < 10; ++i)                                                        //输出数组的各个元素
                printf(" %d", ndigit[i]);
        printf(", white space = %d, other = %d\n", nwhite, nother);
}  



if (c >= '0' && c <= '9')
    ++ndigit[c-'0'];

    我的理解:
            判断c是否大于0小于9
            然后给数组加一

 我的疑惑是: 
             1  为什么它的判断里 0和9 要用 单引号括起来?
                 数组的下标里   c- '0' 是什么意思?
                           
搜索更多相关主题的帖子: include 统计 元素 
2016-07-24 17:29
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
我去看了下ASCII码表有点理解了:
    用分号括起来的代表的是那个字母对应在ASCII上的数值如

        '9'    是 57
        '0'       48
   
        那 '9' - '0' = 9
所以相应的  c变量是1到9的数字减掉 '0' 就得到了那个数字自身
然后在那个数值元素的值加一

我理解的对吗?


电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-24 18:29
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
新的理解

字符就整数类型
    我们看到的是   字符

 电脑里理解的是  ASXII表里对应的整数

    所以可以用字符来做计算表达式,因为电脑会找到字符对应的整数来计算。

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-24 18:33
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
回复 5楼 晓益
谢谢,一去看码表忽然就懂啦。 

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-24 18:35
Man丶諦
Rank: 1
等 级:新手上路
帖 子:50
专家分:5
注 册:2016-7-22
收藏
得分:0 
回复 8楼 晓益
编程太强大了。

电脑小白~啥也不懂~
现在掉进了Linux的坑~
从C语言开始~我的计算机旅行~
2016-07-24 18:38
快速回复:书上一个数组例子的疑问
数据加载中...
 
   



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

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