dragonabllz
Ensign
- Registriert
- Mai 2011
- Beiträge
- 254
Hallo
ich habe mal aus Spass folgendes probiert:
#include <stdio.h>
#include <stdlib.h>
void checkString(char s[]){
printf("%d",sizeof(s) / sizeof(char));
}
int main() {
char p[]= { "Hallo" };
printf("%d\n", sizeof(p) / sizeof(char));
checkString(p);
return EXIT_SUCCESS;
}
Auf der Konsole kommt:
6
8
Egal wie ich den String verändere (z.b. "abcdefghij"), das Printf in der Main funktioniert richtig, während das printf im "checkString" immer 8 ausgibt. Warum?
ich habe mal aus Spass folgendes probiert:
#include <stdio.h>
#include <stdlib.h>
void checkString(char s[]){
printf("%d",sizeof(s) / sizeof(char));
}
int main() {
char p[]= { "Hallo" };
printf("%d\n", sizeof(p) / sizeof(char));
checkString(p);
return EXIT_SUCCESS;
}
Auf der Konsole kommt:
6
8
Egal wie ich den String verändere (z.b. "abcdefghij"), das Printf in der Main funktioniert richtig, während das printf im "checkString" immer 8 ausgibt. Warum?