练习1.8

来源:互联网 发布:python账号注册登录 编辑:程序博客网 时间:2024/04/29 03:02

编写一个统计空格、制表符、换行符的程序

 

代码:

#include <stdio.h>void countBlank(FILE *fin);int main(int argc, char *argv[]){    countBlank(stdin);    countBlank(fopen("main.c", "r"));    return 0;}void countBlank(FILE *fin){    size_t nSpace = 0;    size_t nTab = 0;    size_t nEnter = 0;    int c = 0;    while ((c = fgetc(fin)) != EOF) {        switch (c) {        case ' ':            ++nSpace;            break;        case '\t':            ++nTab;            break;        case '\n':            ++nEnter;            break;        default:            break;        }    }    printf("space num: %ld\n", nSpace);    printf("tab num: %ld\n", nTab);    printf("enter num: %ld\n", nEnter);}


两个问题:

1、size_t在哪里定义的?stdio.h?string.h?stdlib.h?我认为stdio.h有size_t的定义(声明),其它头文件中也可能有!

2、printf size_t类型变量时,应该用%d还是%ld?我认为是%ld!