C语言统计字符串中字符个数,不用库函数

如题所述

#include <stdio.h>

int count_letter(char *str)
{
char *p = str;
int cnt = 0;

//开始计数
while (*p != '\0') {
if ((*p >= 'a' && *p <= 'z') || (*p >= 'A' && *p <= 'Z')) {
cnt++;
}

p++;
}
//计数完成

printf("letter cnt:%d\n", cnt); //打印出英文字母总数

return cnt; //计数结果返回
}

int main()
{
char *str = "gkdial9-1.;J19D-=-=YdlUImf"; //实例字符串
count_letter(str); //调用计数函数
return 0;
}

以上源码。

主要思路为循环到字符串结尾,逐字符判断是否属于字母范围(A到Z或a到z),如果为字母则计数器+1,直到字符为结束符'\0'为止,表示字符串结束,并将结果返回给函数调用者。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-09
#include <stdio.h>
int main()
{
char a[1000] = {0};
scanf("%s",a);
int i = 0;
while(a[i] != 0) i++;
printf("%d\n",i);
}
相似回答