首页
学习
活动
专区
工具
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”。...题目要求得到字符串中最后一个单词长度,可以反向遍历字符串,寻找最后一个单词并计算其长度。 由于字符串至少存在一个单词,因此字符串中一定有字母。...首先找到字符串最后一个字母,该字母即为最后一个单词最后一个字母。 从最后一个字母开始继续反向遍历字符串,直到遇到空格或者到达字符串起始位置。...遍历到每个字母都是最后一个单词字母,因此遍历到字母数量即为最后一个单词长度

14630

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,机器语言是如此精炼,所以,在敲代码是首先考虑是自己已经定义好变量作为下面的逻辑判断变量

46130

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.

43210

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

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

2.4K50

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.5K30

LeetCode28|最后一个单词长度

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

40930

c语言getchar()用法_c语言getchar功能

(1)语法 int getchar(void); (2)返回值 getchar函数返回值是用户输入第一个字符ASCII码,如出错返回-1,且将用户输入字符回显到屏幕.如用户在按回车之前输入了不止一个字符...,其他字符会保留在键盘缓存区,等待后续getchar调用读取.也就是说,后续getchar调用不会等待用户按键,而直接读取缓冲区字符,直到缓冲区字符读完为后,才等待用户按键。...函数值,如果有循环或足够多getchar语句,就会依次读出缓冲区内所有字符直到’\n’.要理解这一点,之所以你输入一系列字符被依次读出来,是因为循环作用使得反复利用getchar在缓冲区里读取字符...,而不是getchar可以读取多个字符,事实上getchar每次只能读取一个字符.如果需要取消’\n’影响,可以用getchar()来清除,如:while((c=getchar())!...,由于程序里没有第3个getchar(),所以’y’和’\n’还留在缓冲区,但它们两个已经是在准备状态,如果程序又出现一个getchar(),‘y’不需要你按回车它会直接进入到第3个getchar()

4.7K60

LeetCode150|最后一个单词长度

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

45430

LeetCode | 58.最后一个单词长度

这次来写一下 LeetCode 第 58 题,最后一个单词长度。 题目描述 题目直接从 LeetCode 上截图过来,题目如下: ?...上面的题很简单也很短,就不做过多解释了。 问题分析 这个题只要从后往前遍历整个字符串就可以了,在遍历过程只要找到空格就可以很容易计算到最后一个单词长度。...这么简单问题,但是其中有两个小小坑,第一个坑是,如果字符串末尾有空格,那么怎么办?第二个坑是,如果字符串没有空格怎么办?...第一个坑解决方法是跳过字符串尾部出现所有空格;第二个坑解决方法是如果在字符串没有空格,那么当前字符串实际上就是整个字符串最后一个单词,那么只要返回整个字符串长度就可以了。...点击 “提交” 按钮后,系统会使用更多测试用例来测试我们写函数体,如果所有的测试用例都通过了,那么就会给出 “通过” 字样,如果没有通过,会给出失败那一组测试用例,我们继续修改代码。

56330
领券