C 语言查找字符串长度的程序

如何编写一个 C 语言程序来使用 strlen 函数和不使用该函数来查找字符串长度。我们可以通过使用内置函数或不使用 strlen 库函数来计算字符串长度。

strlen 函数

strlen 函数是 C 编程中的一个内置 strlen 字符串函数,它用于查找字符串长度。strlen 函数的语法是

strlen(<string name>)

strlen 函数将计算字符串中的字符数,直到遇到空字符 (\0) 为止,并返回该整数值作为输出。

C 语言使用 strlen 函数查找字符串长度的程序

此程序允许用户输入任何字符串或字符数组。接下来,它将使用一个名为 strlen 的内置字符串函数来查找字符串的长度。

#include <stdio.h>
#include <string.h>
 
int main()
{
  char Str[100];
  int lg;
 
  printf("\n Please Enter any String \n");
  gets (Str);
 
  lg = strlen(Str);
 
  printf("Length = %d\n", lg);
 
  return 0;
}
C Program to Find Length of a String Using strlen function

在此 strlen 函数示例程序中,我们声明了一个大小为 100 的字符数组变量,并将其命名为 Str,我们还声明了一个整数变量 Length。

下面的 printf 语句会提示用户输入任意单词以查找其长度。

printf("\n Please Enter any String \n");

程序 中的下一条语句会将用户输入的字符串分配给 Str 变量。

gets (Str);

下一行是 strlen,

lg = strlen(Str);

我们使用 C strlen 函数查找字符串长度,并将该值赋给 Length 变量。

下面的 C 编程 printf 语句将打印 Length 中的值(表示字符串长度)

printf(" Length = %d \n", lg);

从上面的截图可以看出,我们输入了字符串“Tutorial Gateway”,字符串长度为 16(包括两个单词之间的空格)。

C 语言不使用 strlen 查找字符串长度的程序

我们可以通过多种方式实现相同的目标,但我们将讨论两种方法,即 For 循环While 循环

C 语言使用 While 循环查找字符串长度的程序

此程序允许用户输入任何字符数组,它将在不使用 strlen 函数的情况下查找字符串的长度。

#include <stdio.h>
#include <string.h>
 
int main()
{
  char Str[100];
  int Length = 0;
 
  printf("\n Please Enter any String \n");
  gets(Str);
 
  while (Str[Length] != '\0')
   {   
     Length++;
   }
   
  printf("\nLength of a String = %d", Length);
  return 0;
}
Program to find the Length of a String Without Using strlen

如果您查看此程序中用于字符串长度的 While 循环,

while (Str[Length] != '\0')
 {   
     Length++;
 }

每个字符串都以空字符“\0”结尾。因此,当字符串到达“\0”位置时,while 循环中的条件 (Str[Length] != ‘\0’) 将失败。

在 while 循环内部,我们使用递增运算符将 Length 的值加 1。

在此示例中,我们没有使用 c strlen。用户输入了字符串“you”。最初,length 的值为 0。

第一次迭代:最初,length 的值为 0。
(Str[0] != ‘\0’) 条件为 TRUE,因为 Str[0] = y
因此,length 增加到 1

第二次迭代:现在,Length 的值为 1
(Str[1] != ‘\0’) 条件为 TRUE,因为 Str[1] = o。因此,length 增加 1

第三次迭代:Length 的值为 2
(Str[2] != ‘\0’) 条件为 TRUE,因为 Str[2] = u。因此,length 增加 1

第四次迭代:Length = 3,While 条件 (Str[3] != ‘\0’) 为 FALSE,因为 Str[3] = \0。因此,此 strlen 示例中的循环将终止。

最后的 printf 语句将打印 Length 变量中的值(表示字符串长度)

printf("\n Length of the String is : %d", Length);

Length of s String 的最终输出 = 3

C 语言使用 For 循环查找字符串长度的程序

此程序允许用户输入任何字符数组,它将在不使用 strlen 函数的情况下查找字符串的长度。

#include <stdio.h>
#include <string.h>
 
int main()
{
  char Str[100];
  int i;
 
  printf("\n Please Enter any Sentence \n");
  gets(Str);
 
  for (i = 0; Str[i]!='\0'; i++);
  
  printf("Length = %d\n", i);
  return 0;
}

在此示例中,我们没有做任何特别的事情。我们只是将上述代码中的 while 循环更改为 for 循环。如果您对 for 循环有任何疑问。请在此处参考 For 循环文章:For 循环

Program to Find Length of a String Using For Loop