这是我的代码:
#include<stdio.h>
#include<string.h>
int string_length(char s[]);
main()
{
char s[50];
int l;
printf("Enter the string\n");
scanf("%s\n",s);
l=strlen(s);
printf("Length of string = %d\n",l);
}
int string_length(char s[])
{
int i;
i=0;
while(s[i] != '\0')
++i;
return i;
}
编译后扫描两个输入值。
我的代码出了什么问题?
答案 0 :(得分:8)
摆脱scanf
。
scanf("%s",s);
这应该让这段代码有效。
但是如果必须使用strlen()
,我无法理解为什么你编写了一个计算字符串长度的函数。
HTH,
斯利拉姆。
答案 1 :(得分:1)
const size_t sillyStrlen(const char* text) {
if (*text) {
return sillyStrlen(text + 1) + 1;
}
return 0;
}
答案 2 :(得分:1)
您在strlen
中呼叫string_length
而不是您自己的main
。
答案 3 :(得分:0)
int strlen(char[])
函数。答案 4 :(得分:0)
试试这个。
#include<stdio.h> #include<conio.h> #include<string.h> int main() { char *str; printf("Enter a string\n"); gets(str); printf("The size of the string is %d",strlen(str)); getch(); return 0; }