Quick strlen question
Ich bin gekommen, um euch alle mit einer weiteren, wahrscheinlich sehr einfachen C-Frage zu belästigen.
Verwenden Sie den folgenden Code:
int get_len(char *string){
printf("len: %lu\n", strlen(string));
return 0;
}
int main(){
char *x = "test";
char y[4] = {'t','e','s','t'};
get_len(x); // len: 4
get_len(y); // len: 6
return 0;
}
2 Fragen. Warum unterscheiden sie sich und warum ist y 6? Danke Leute
EDIT: Tut mir leid, ich weiß, was es beheben würde, ich wollte nur verstehen, was los war. Leitet strlen den Punkt also weiter, bis zufällig eine \ 0 gefunden wird? Auch als ich strlen in der main-Funktion anstatt in der get_len-Funktion gemacht habe, waren beide 4. War das nur ein Zufall?