用strlen计算字符串长度结果不对[问题已解决]
程序代码:/* 计算字符串长度*/
#include <stdio.h>
int strlen(char *str)
{
int i;
for( i = 0; str[i] != '\0'; i ++ ) /* 用循环计算长度 */
return i;
}
int main(void)
{
char string[100]; /* 字符串数组声明 */
int len; /* 字符串长度 */
printf("请输入字符串==>");
gets(string); /* 读取字符串 */
len = strlen(string); /* 计算字符串长度 */
printf("输入字符串的长度是%d\n", len);
}
编译成功,但运行后无论输入什么字符串,计算结果都为0。请问代码哪里不对?
这代码是在《数据结构C语言-铁道出版社》电子书里看到的。
原因:在strlen函数中的for语句后面少了个分号。
[[it] 本帖最后由 yuezhuying 于 2008-11-21 20:55 编辑 [/it]]









原来如此~我平常在写代码时都不会给for后面加上分号,忘了还有这种情况,难怪我无论怎么看代码都找不到这错误~~
