用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]]