1. 要求: 编写一个统计空格,制表符与换行符个数的程序

2. 分析.

1. 使用getchar()获取输入的字符

2. 判断输入的符. 查询ASCII对照表, 空格ASCII值32(也可使用’ ‘). 制表符’\t’, 换行’\n’.

3. 代码

1. 想输入EOF, linux是按Ctrl + D组合键2次, windows Ctrl + Z,

2. else if的条件成立就进行下一次循环, 如果3个if条件程序判断3次, 没有效率.


#include<stdio.h>
int main(){
    int sumspace = 0;
    int sumt = 0;
    int sumn = 0;
    int c ;
    while( (c = getchar()) != EOF ){
        if( c == 32){
            sumspace++;
        }
        else if(c == '\t'){
            sumt++;
        }
        else if(c == '\n'){
            sumn++;
        }
    }
    printf("空格数%d 制表符数%d 换行符数%d\n", sumspace, sumt, sumn);
    return 0;
}