当前位置: 首页 > 知识库问答 >
问题:

使用getchar()方法计算输入中的字符数

堵琨
2023-03-14

我正在学习C编程语言。我试图使以下代码工作:

#include <stdio.h>
int main() {
    int char_count = 0;
    while (getchar() != EOF)
        ++char_count;
    printf("Number of chars are %ld ", char_count);
    return 0;
}

构建并运行代码。然后,我输入一个随机单词并按回车键。我希望在下一行看到一个数字,但发生的是光标移动到下一行。当我输入一个新单词时,同样的事情也会发生。我错过了什么?

编辑:当程序完成获取第一个单词的字符时,我希望< code>getchar()返回< code>EOF。

共有3个答案

龙才俊
2023-03-14

如果将 EOF 更改为 \n 字符,它将在按回车键后完成工作:

int c = 0;
while (((c = getchar()) != '\n') && (c != EOF))
    ++char_count;

PS:使用保龄球建议进行了改进@David。

袁凌
2023-03-14

在命令提示符中输入EOF字符总是很棘手。通过在Windows上使用Ctrl Z或在Unix上使用Ctrl D,按照@Sarvex的建议去做就可以了。

在不对代码进行任何更改的情况下可以执行的另一件有趣的事情是,您可以从文本文件将输入重定向到程序,而不是让程序接受来自命令提示符的输入。

如果您有一个名为“data.txt”的文本文件,其中包含以下文本:

你好世界。你过得怎么样?

编译代码后,程序的名称是charCount。您可以执行以下操作:

我收到的输出是,< code >字符数是31。

吕子真
2023-03-14

当您按时,输入/return,您将根据您使用的是unix/osx还是windows生成\n\r\n。您不是一代EOF角色。

要生成EOF字符,需要在unix/osx上按^D或在windows上按^Z

 类似资料:
  • 本文向大家介绍C语言中字符的输入输出以及计算字符个数的方法详解,包括了C语言中字符的输入输出以及计算字符个数的方法详解的使用技巧和注意事项,需要的朋友参考一下 C语言字符输入与输出 标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。文本流是由多行字符构成的字符序列,而每行字符则由 0 个或多个字符组成,行末是一个换行符。标准库负责使每个输入/

  • 我有一个项目,制作一个程序,将字符串作为输入,然后打印字符串中的字数作为输出。在这方面,我们应该使用3种方法,一种读取输入,一种打印输出,一种计算单词。 我知道我错过了一些基本的东西,但是我已经花了几个小时在这上面,不知道为什么程序不能正常运行。我需要保持程序非常简单,所以我不想编辑太多,只要找到问题并修复它,这样它就能正常运行。 示例:输入一串文本:敏捷的棕色狐狸跳过了懒狗。9个字

  • 我有一个Java作业,我需要读入一个字符,然后计算该字符在数组中出现的次数。这是我目前所掌握的。

  • 本文向大家介绍js计算文本框输入的字符数,包括了js计算文本框输入的字符数的使用技巧和注意事项,需要的朋友参考一下 使用JavaScript实时的计算用户当前输入的字符数函数代码: javascript实现统计字符数很简单,上面分享给大家的代码可以直接使用,希望对大家的学习有所帮助。

  • 本文向大家介绍使用MySQL计算字符串中的字符数,包括了使用MySQL计算字符串中的字符数的使用技巧和注意事项,需要的朋友参考一下 今天,我需要从一个表中获取一些数据,该表中另一个字符串中不止一个字符串出现。基本上,我需要从一个表中查找所有深度超过3级(即带有3个斜杠)的URL,但是意识到在MySQL中没有函数可以执行此操作。我找到了另一种方法,但它使我思考如何可能。 找到解决方案并不是很困难,我

  • 问题内容: 我在做作业时遇到了这个问题(老实说,至少没有试图隐藏它),在解决该问题时遇到了问题。 给定以下声明:字符串短语=“ WazzUp?-谁在第一时间???-IDUNNO”;编写必要的代码以计算字符串中的元音数量,并将适当的消息打印到屏幕上。 这是我到目前为止的代码: 但是,当我运行它时,它只会产生一堆空白行。有人可以帮忙吗? 问题答案: 应该是。 给出的值,然后加1。就像您现在拥有的一样,