代码:计算的参数的长度
int my_strlen(char *string){
int i;
for(i = 0; string[i] != '\0'; i++);
return i;
}
int main(int argc, char* argv[]){
int length;
for(int i = 1; i < argc; i++){
length = my_strlen(argv[1]);
}
printf("Length of the command line args: %d\n", length);
}
输出:
$ ./a.out guy oneguy
$ Length of the command line args: 6
出于某种原因,它只能算最后的参数,而忽略了其他。我期待得到10(长度)。
任何帮助将是伟大的。
谢谢。
初始化'length'为零并改变'length = my_strlen(argv [i]);'to'length + = my_strlen (argv [i]);'也注意从'1'到'i'的变化。 – DaV 2015-02-05 16:29:37
“出于某种原因”?原因在于,这正是您在代码中表达的想法。 :) – unwind 2015-02-05 16:36:29
有什么理由你不使用'strlen'? – Axalo 2015-02-05 16:37:51