NTYCRZ 2021-11-02 19:38 采纳率: 100%
浏览 31
已结题

c语言用getchar函数取得单词长度时碰到的问题

题目:题目内容:

你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。

输入格式:

输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。

输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。

输入样例:

It's great to see you here.

输出样例:

4 5 2 3 3 4

我的代码遇到的问题:

img

以下是我的代码,请各位指点!

#include <stdio.h>
#include <string.h>
int main()
{
char a[25];
char c;
int i=0,k;
c=getchar();

while(c!='.'){
    while(c!=' '&&c!='.')
    {
        a[i]=c;
        i++;
        c=getchar();
    }
    if(c!='.')
    {
        printf("%d ",strlen(a));
        i=0;
        for(k=0;k<25;k++)
        {
            a[k]='\0';
        }
        c=getchar();
    }else {
        printf("%d",strlen(a));
    }
}
return 0; 
} 

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-11-02 19:46
    关注

    char a[25];初始化一下,改为
    char a[25] = {0};
    对于第一个单词,你没有进行a数组初始化,后面的单词,你都用循环初始化为'\0'了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月2日

悬赏问题

  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型