c-如何计算这个可读程序中的字母数



我正在尝试计算用户输入中的字母数,但我一直得到分段故障。有人能告诉我如何纠正这个问题吗。非常感谢。


#include <stdio.h>
#include <cs50.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int count_letters(int length, string array[]);
int main(void)
{
string Text = get_string("Text:");
int len = strlen(Text);
printf("%i letter(s)n", count_letters(len, &Text));
}
int count_letters(int length, string array[])
{
int letters = 0;
for(int i = 0; i < length ; i++)
{
if (isalpha(array[i]))
{
letters++;
}
}
return letters;
}

int count_letters(int length, string array[])中,参数array已经是字符数组的指针,[]是错误的。

如果将其更改为int count_letters(int length, string array),并将其从main调用为count_letters(len, Text),则程序将运行。

注意,cs50.h已经将string声明为char *

(我完全同意Christian Gibbins的观点,即string数据类型应该从cs50.h中删除(

相关内容

  • 没有找到相关文章

最新更新