如何只计算字符串中的字母?

劳拉

我正在尝试编写一个程序,该程序计算字符串中的几个元素。其中第一个是字母。

作业是CS50第2周问题集的一部分,因此包含了库。

使用该while条件,我能够对每个单个字符进行计数,但是一旦添加完代码isalnum(该字符是否为字母数字字符),代码便停止工作

我究竟做错了什么?

#include <cs50.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>

int main(void) {
    string text = get_string("Text: ");
    printf("%s, \n", text);

    int letters = 0;
    while (text[letters] != '\0') {
        if (isalnum(text[letters])) {
            letters++;
        }
    }
    printf("%i \n", letters);
}
来自莫斯科的弗拉德

这里显示了如何定义正确的循环

size_t letters = 0;
for ( size_t i = 0; text[i] !='\0'; i++ )
{
    if ( isalnum( ( unsigned char )text[i] ) )
    {
       letters++;
    }
}

printf( "%zu\n", letters );

如果您想使用while循环,那么它可以看起来像

size_t letters = 0;
size_t i = 0;
while ( text[i] !='\0' )
{
    if ( isalnum( ( unsigned char )text[i++] ) )
    {
       letters++;
    }
}

printf( "%zu\n", letters );

请注意,该功能isalnum可以检测字母和数字。如果只需要计算字母,则使用函数isalpha

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算字符串Java中的字母

来自分类Dev

计算字符串向量中每个字母的数量

来自分类Dev

如何计算字符串中的大小写字母?

来自分类Dev

计算Python字符串中连续重复字母的实例

来自分类Dev

JavaScript函数自动计算字符串中的连续字母

来自分类Dev

计算字符串中重复的字母

来自分类Dev

计算字符串中每个字母的出现

来自分类Dev

计算字符串中单词的字母

来自分类Dev

不使用count()计算字符串中的字母

来自分类Dev

如何只计算字符串中的字母?

来自分类Dev

如何删除字符串中的字母

来自分类Dev

仅计算字符串中的字母数字字符

来自分类Dev

计算向量C ++中字符串中的字母数

来自分类Dev

计算Python字符串中连续重复字母的实例

来自分类Dev

在PHP中按类型计算字符串中的字母

来自分类Dev

计算不带空格的字符串中的字母

来自分类Dev

如何计算字符串中的字母,数字和空格

来自分类Dev

计算字符串中的字母

来自分类Dev

计算字符串中相同字母的数量

来自分类Dev

计算字符串中每个字母的频率

来自分类Dev

计算字符串中的特定字母

来自分类Dev

计算字符串Python中的多个字母

来自分类Dev

计算字符串中每个字母的出现

来自分类Dev

如何计算字符串 [][] 中每列的字母数?

来自分类Dev

如何在C#中计算字符串数组中的字母

来自分类Dev

如何使用字典计算字符串中每个单词的字母?(Python)

来自分类Dev

只获取字符串中的字母,包括空格

来自分类Dev

如何计算字符串中字母文字的数量?

来自分类Dev

如何在python中只打印字符串的字母?