EOF与-1在c语言里面的作用 对输入的行、单词和字符进行计数。我们将单词的定义进行化简,认为单词是不包含空格、制表符\t及换行符的字符序列

**

*对输入的行、单词和字符进行计数。我们将单词的定义进行化简,认为单词是不包含空格、制表符\t及换行符的字符序列

**。例如:“a+b+c”,认为是1个单词,它由5个字符组成。又如:“xy abc”,为2个单词,6个字符。输入ctrl+z结束(提示:用ch!=EOF或ch!=-1作为循环条件)。

**输出格式要求:“Lines=%d\nWords=%d\nChars=%d\n”
程序运行示例如下:
hi~
Good moring!
I’m Julie.

Lines=3
Words=5
Chars=28

#include <stdio.h>
int main ( )
{
    char ch = '\0';
    
    //循环接受字符
    int l = 0,w = 0,c = 0;
    while (scanf("%c",&ch) != EOF)
           {
        c++;
        if (ch==' '||ch=='\n') {
            w++;
        }
        
        if (ch=='\n') {
            l++;
        }
    }
    printf("Lines=%d\nWords=%d\nChars=%d\n",l,w,c);
    return 0;
}

注意:
1 · 接收换行的不能用ch13或者‘
’只能用ch
’\n’
2 · ***EOF与-1***是一个意思用一个就够了,表示文件结束,另外在编译器里面不会有输出,但是作业系统里可以(我也不知道为啥目前)

发布了18 篇原创文章 · 获赞 0 · 访问量 195

猜你喜欢

转载自blog.csdn.net/weixin_46456339/article/details/105314244
今日推荐