首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

getchar()中的单词长度

getchar()是C语言中的一个函数,用于从标准输入流中读取一个字符。它的原型定义在<stdio.h>头文件中。

单词长度指的是通过getchar()函数读取的连续字符序列中,以空格、制表符或换行符作为分隔符的单词的字符个数。

在C语言中,可以通过使用getchar()函数和循环结构来实现获取单词长度的功能。具体的实现步骤如下:

  1. 定义一个整型变量wordLength,用于记录当前单词的长度,初始值为0。
  2. 定义一个整型变量c,用于存储从标准输入流中读取的字符。
  3. 使用循环结构,循环读取字符,直到遇到空格、制表符或换行符为止。
  4. 在循环中,每次读取一个字符并将其赋值给变量c。
  5. 判断变量c是否为EOF(文件结束符),如果是,则退出循环。
  6. 判断变量c是否为分隔符(空格、制表符或换行符),如果是,则输出当前单词的长度,并将wordLength重置为0。
  7. 如果变量c不是分隔符,则将wordLength加1。
  8. 循环结束后,输出最后一个单词的长度。

以下是一个示例代码:

代码语言:c
复制
#include <stdio.h>

int main() {
    int wordLength = 0;
    int c;

    while ((c = getchar()) != EOF) {
        if (c == ' ' || c == '\t' || c == '\n') {
            printf("单词长度:%d\n", wordLength);
            wordLength = 0;
        } else {
            wordLength++;
        }
    }

    printf("单词长度:%d\n", wordLength);

    return 0;
}

这段代码可以实现从标准输入流中获取连续字符序列,并输出每个单词的长度。注意,该代码只能计算以空格、制表符或换行符作为分隔符的单词长度,对于其他特殊情况(如标点符号等),需要根据实际需求进行适当修改。

腾讯云相关产品和产品介绍链接地址:

以上是腾讯云提供的一些与云计算相关的产品,可以根据具体需求选择适合的产品进行开发和部署。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

最大单词长度乘积

题目: 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 最大值,并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。...如果不存在这样两个单词,返回 0。...示例 3: 输入: ["a","aa","aaa","aaaa"] 输出: 0 解释: 不存在这样两个单词。...抛砖引玉 传入一个字符串数组,返回数组两个不含相同字符字符串元素长度乘积最大值 思路 先暴力破解一下(暴力 API 工程师 ㄟ( ▔, ▔ )ㄏ  ) 双循环枚举处两两不含相同字符元素 保留枚举符合要求元素长度乘积...一个字符串用一个二进制数表示,每个字符根据字符在二进制位不同位置放置 1 占位,那么比较两个字符串是有相同字符只有对两个二进制数取按位或一定不等于 0 ab => ..000011 ac => ..0000101

2.7K20
  • 最后一个单词长度

    给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串 最后一个 单词长度单词 是指仅由字母组成、不包含任何空格字符最大子字符串。...示例 3: 输入:s = "luffy is still joyboy" 输出:6 解释:最后一个单词长度为6“joyboy”。...题目要求得到字符串中最后一个单词长度,可以反向遍历字符串,寻找最后一个单词并计算其长度。 由于字符串至少存在一个单词,因此字符串中一定有字母。...首先找到字符串最后一个字母,该字母即为最后一个单词最后一个字母。 从最后一个字母开始继续反向遍历字符串,直到遇到空格或者到达字符串起始位置。...遍历到每个字母都是最后一个单词字母,因此遍历到字母数量即为最后一个单词长度

    17630

    linuxgetchar函数用法,linux getchar函数使用

    1 函数介绍 1) 函数原型 int getchar(void); 2) 函数功能 从stdin读取一个字符。 3) 返回值 返回读取字符ASCII值或者EOF字符或者出错值。...在输入这段字符串过程getchar函数没有发生从stdin读取字符操作(因为没有任何字符输出),当在输入字符串后按下回车后界面输出情况如下: input your strings: hello...2) getchar每次只读取一个字符,如果程序不采用循环而只设置一个getchar()语句,则getchar只读取输入字符串首个字符,其余字符依然留在缓存区(若将程序while循环去掉只输出第一个字符...重新编译并运行程序,输入字符串:hello[回车] 得第一次运行结果 当程序首次执行到whilegetchar时,getchar函数等待用户输入,getchar函数一直等待用户输入,当用户按下回车表示用户输入完毕...getchar函数读取,因为while循环条件已经为假)并得到以下输出界面 String输入字符串长度为6在一次表明getchar读取了用户输入回车。

    3.1K30

    算法-最后一个单词长度

    ,返回其最后一个单词长度。...如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格字符串。...2.注意split用法,返回是一个数组,而其中元素是字符串 3.如果一个字符串由若干空格,并且其没有字母表示,那么调用Stringsplit()方法所返回不是一个null,而是一个空数组...方法二:利用String内charAt()方法,逻辑上是字符串最后开始找,没找到单词继续找,找到单词,开始记录单词长度,并且遇到第一个空格停止循环。...此方法关键就是将逻辑翻译为机器逻辑,跳出循环一定是要在之前有字符串情况下才能执行,这逻辑就是count>0,机器语言是如此精炼,所以,在敲代码是首先考虑是自己已经定义好变量作为下面的逻辑判断变量

    48830

    LeetCode - #58 最后一个单词长度

    如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家需求。 难度水平:简单 1. 描述 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串 最后一个 单词长度。...单词 是指仅由字母组成、不包含任何空格字符最大子字符串。 2. 示例 示例 1 输入:s = "Hello World" 输出:5 解释:最后一个单词是“World”,长度为5。...示例 2 输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是“moon”,长度为4。...示例 3 输入:s = "luffy is still joyboy" 输出:6 解释:最后一个单词长度为6“joyboy”。...约束条件: 1 <= s.length <= 10^4 s 仅有英文字母和空格 ' ' 组成 s 至少存在一个单词 3.

    44810

    c语言getchar()用法_c=getchar()

    getchar 有一个 int 型返回值。...用户输入字符被存放在键盘缓冲区,直到用户按回车为止(回车字符 \n 也放在缓冲区),当用户键入回车之后,getchar() 函数才开始从输入缓冲区每次读取一个字符,getchar 函数返回值是用户输入字符...ASCII 码,若遇到文件结尾 (End-Of-File) 则返回 -1 (EOF),并将用户输入字符回显到屏幕,如果用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区,等待后续 getchar...也就是说,后续 getchar 调用不会等待用户按键,而直接读取缓冲区字符,直到缓冲区字符读完后,才等待用户按键。...程序 while 循环工作时,每一次循环 getchar() 就会从输入缓冲区读取一个字符,然后 putchar 输出,直到遇到了文件结束标志 EOF,循环判断条件为假,循环才结束 为啥用缓冲区呢?

    4.6K50

    C语言getchar用法_getchar用法

    getchar getchar定义 MSDN解释是从流读取一个字符 int ch = getchar() //通过getchar获取字符ASCII码值传到ch里面存储 这里注意...:getchar获取字符以后 通过ASCII码值形式存储在ch里 为什么不用char ch?...getchar读到是一个int类型数据 好处是返回值时候非常方便 接下来我们再看一个示例: int main() { int ch = 0; while ((ch...当我们输入时候并不是键盘直接到getchar,而是中间有一个输入缓冲区,getchar一直在等待缓冲区里内容,正是有了缓冲区存在,才会出现有1问题 4、我们如何清空缓冲区以免对后续操作造成影响呢...getchar读到空格就不读了 第二次getchar拿到是空格 还剩def\n 多一个空格 程序又出错了 所以这个时候我们需要用到刚刚代码,进行稍微修改可以很好清空缓冲区 int main

    1.6K30

    LeetCode28|最后一个单词长度

    1,问题简述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。 如果不存在最后一个单词,请返回 0 。...说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...2,示例 输入: "Hello World" 输出: 5 3,题解思路 从字符串最后一个位置向前查找,这就是本题题解了 4,题解程序 public class LengthOfLastWordTest...6,总结 总结一下这道题写法,主要是为了完成自己心目中早已定下内容,顺便回顾一下过去内容,数据查找可以从前到后查找,从后向前查找,二分查找都可以,不过时间复杂符不一样,这或许也是自己输出内容原因之一吧

    42830

    LeetCode 58.最后一个单词长度

    最后一个单词长度[1] 描述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。...如果不存在最后一个单词,请返回 0 。 说明: 一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...解题思路 先定义一个数组并将其置为 null; 将字符串按照空格分割并存入定义好数组; 判断数组长度,为 0 直接返回 0; 数组长度不为零返回数组最后一个单词长度; 实现 package string...2020/3/19 22:01 * Project : LeetCode * Package : string * Class : FiftyEight * Desc : 58.最后一个单词长度...最后一个单词长度: https://leetcode-cn.com/problems/length-of-last-word/

    36920

    LeetCode150|最后一个单词长度

    一,最后一个单词长度 1,问题简述 给定一个仅包含大小写字母和空格 ' ' 字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。...如果不存在最后一个单词,请返回 0 。 说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...2,示例描述 示例: 输入: "Hello World" 输出: 5 3,题解思路 字符串常规操作,根据字符串长度对每一个字符进行处理,即可完成。...{ return count; } } return count; } } 5,总结一下 根据字符串长度对每一个字符进行处理...历史文章目录 数据结构:王同学下半年曾写过JDK集合源码分析文章汇总 算法汇总:leetcode刷题汇总(非最终版)

    47030

    LeetCode 进阶之路 - 最后一个单词长度

    给定一个仅包含大小写字母和空格' '字符串 s,返回其最后一个单词长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现单词。 如果不存在最后一个单词,请返回 0。...说明:一个单词是指仅由字母组成、不包含任何空格字符 最大子字符串。...trim()来去空格,但是想想好像不太好,然后借鉴了题解高人代码,通过循环判断尾部是否有空格,有的话长度就减1,直到尾部没有空格为止 * 代码:while (lenth >= 0 &...-; */ s = s.trim(); // 通过从后往前遍历字符串,定义一个temp来进行计数,temp每次加1,直到遇到空格后返回当前temp值就是单词长度...(s)); } } Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/leetcode进阶之路-最后一个单词长度

    36710
    领券