C语言中怎么样数字符串的长度?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中怎么样数字符串的长度?相关的知识,希望对你有一定的参考价值。

给你一个程序,可以计算字符串里数字、英文字符、和其他占用一个字节的字符个数。不能统计中文的个数,因为他们的编码不一样。。
英文字符 1B (1个字节,8位)
中文字符 2B
以下程序在VC6.0编译通过:
#include <stdio.h>
#include <string.h>
#define N 1000
void main()

char str[N];
int len[4]=0;//用于存放长度和统计相应字符个数
int i;
do

printf("请输入不少于10长度的字符串:\n");
gets(str);
while(strlen(str)<10);
len[0]=strlen(str);//字符串的总长度
for(i=0;i<len[0];i++)

if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
len[1]++;//计算出现字母的个数
else
if(str[i]>='0'&&str[i]<='9')
len[2]++;//计算出现数字的个数
else
len[3]++;//计算出现其他字符的个数,如果输入汉字的话,这个数值可能不太正确。。因为中文占用两个字节,即16位。。。而英文字符1个字节即8位

printf("\n");
printf("已输入字符串的总长度为%d\n字母个数为%d\n数字个数为%d\n其他字符个数为%d",len[0],len[1],len[2],len[3]);
参考技术A 1.用计算字符串长度的函数strlen()
#include"string"
...
m=strlen(aa);//aa是字符数组名,m的值不包括字符串结束标志字符'\0'
...
2.用循环
...
int *p=aa;//指向字符数组
for(i=0;*p!='\0';i++)
p++;
printf("%d\n",i);
参考技术B 一、用函数 strlen(str)可以得到。
二、遍历数组:int i=0;while( s[i] ) i++ ; 串结束符是0,这样可以得到有效数据长度i
参考技术C 用循环,设置一个初值为0的变量计数,每次循环加一,同时指向字符串的指针加一,指向下一个字符,循环条件是当前字符不为'\0',因为这个转义字符标志着字符串的结束。 参考技术D #include <string.h>
......
n=strlen(str);
......
n为所求长度,str为待求数组

以上是关于C语言中怎么样数字符串的长度?的主要内容,如果未能解决你的问题,请参考以下文章

C语言字符串长度如何数?

C语言,结构体问题?所占内在字节数,怎么算的???

c语言字符串的长度怎么看

C语言字符串长度如何数?

C语言中计算数组长度的方法是啥

字符串长度怎么算