代碼:計算的參數的長度
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