【发布时间】:2017-09-07 09:47:01
【问题描述】:
我一直在处理我的 C 任务,我尝试复制 strlen() 函数而不实际使用它。这是我一直试图开始工作的代码。然而,不知何故,主函数并不能反映 mystrlen() 函数中发生的事情。你能告诉我为什么它不能作为 strlen() 函数工作吗?
#include <stdio.h>
int mystrlen(char *input_string) {
/* This function returns the length of the input string */
/* WRITE FUNCTION CODE HERE! */
char str1[50];
int abcd = 0;
scanf("%s", str1);
int m;
for(m=0; str1[m]; m++){
abcd ++;
}
return 0;
}
int main(int argc, char **argv) {
int length;
if (argc!=2) {
printf("Usage: strlen <input_string_with_no_space_inside_it>\n\n");
return 1;
}
length = mystrlen(argv[1]);
printf("The length is: %d characters.\n",length);
return 0;
}
【问题讨论】:
-
函数总是返回
0(return 0;) -
这样做: int mystrlen(const char *data) { int counter = 0;而(*数据++){计数器++; } 返回计数器; }
-
您的解决方案根本无法复制
strlen函数。 -
你从不使用
input_string! -
@OrhanGaziYalçın 没有人要求您更改
input_string。