在不使用任何循环和C语言中找到字符串.h的情况下,查找字符串的长度。您的程序应以以下方式运行:
Enter a string: GeeksforGeeks (Say user enters GeeksforGeeks)
Entered string is: GeeksforGeeks
Length is: 13
您可以假设输入的字符串的长度始终小于100。
以下是解决方法。
C
#include
int main()
{
// entered string
char ch[50] = "GeeksforGeeks";
// printing entered string
printf("Entered String is:");
// returns length of string
// along printing string
int len
= printf("%s\n", ch);
printf("Length is:");
// printing length
printf("%d", len - 1);
}
C
// C program for the above approach
#include
void LengthofString(int n,char *string)
{
if(string[n] == '\0')
{
printf("%i",n);
return;
}
LengthofString(n+1,string);
//printf("%c",string[n]);
}
int main()
{
char string[100];
printf("Give a string : \n");
scanf("%s",string);
printf("Entered string is:%s\n", string);
LengthofString(0,string);
return 0;
}
输出
Entered String is:GeeksforGeeks
Length is:13
这个想法是使用printf()的返回值。
printf()返回成功写入输出的字符数。
在上面的程序中,我们仅使用printf()的属性,因为它返回在数组字符串输入的字符数。
在不使用字符串.h或循环的情况下查找字符串长度的另一种方法是递归。
以下程序使用递归来查找字符串的长度。
C
// C program for the above approach
#include
void LengthofString(int n,char *string)
{
if(string[n] == '\0')
{
printf("%i",n);
return;
}
LengthofString(n+1,string);
//printf("%c",string[n]);
}
int main()
{
char string[100];
printf("Give a string : \n");
scanf("%s",string);
printf("Entered string is:%s\n", string);
LengthofString(0,string);
return 0;
}
输出
Give a string :
Entered string is:0
1
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。