练习 1-8。编写一个程序来计算空格、制表符和换行符[重复]

Posted

技术标签:

【中文标题】练习 1-8。编写一个程序来计算空格、制表符和换行符[重复]【英文标题】:Exercise 1-8. Write a program to count blanks, tabs, and newlines [duplicate] 【发布时间】:2020-11-17 21:34:05 【问题描述】:

这是 K 和 R c 编程练习,我不知道为什么我的程序不工作,谁能帮忙,请谢谢。

当我运行程序并输入一两个单词并按“Enter”时,它什么也不显示,它只是跳到下一行就这样

#include <stdio.h>

int main()

     int c, line, tab, blank;
    
    line = 0;
    tab = 0;
    blank = 0;
    
    while ( (c = getchar()) != EOF)
    
        if (c == '\n')
            ++line; 

        if (c == '\t')
            ++tab;

        if (c == ' ')
            ++blank;
       
    
    
    printf("Lines: %d\n Tabs: %d\n Blanks: %d\n", line, tab, blank);

    return 0;

【问题讨论】:

请比“不起作用”更好地描述问题。给出准确的输入、预期结果和实际结果。 什么不起作用?计数错误,没有结束,崩溃,什么?我编译运行了,没问题。 OT:if 子句的格式非常奇怪,非常难以阅读。 @kaylum 是的,你是对的,很抱歉不清楚,基本上当我运行程序并输入一两个单词并按“Enter”时,它没有显示任何内容,它只是跳转到下一行,就是这样 您需要输入程序正在寻找的EOF:Linux 上的 Ctrl-D,Windows 上的 Ctrl-Z。或将文件定向到输入。 【参考方案1】:

如果您从标准输入读取,您认为何时会发生 EOF?您需要信号处理或终止字符。

【讨论】:

以上是关于练习 1-8。编写一个程序来计算空格、制表符和换行符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

MarkDown study:

01markdown语法

MarkDown学习笔记

练习1-18 编写一个程序,删除每个输入行末尾的空格以及制表符,并删除完全是空格的行。

C中空格的转义序列是啥?