#include <stdio.h>
int main(int argc, char *argv[]) {
char s[]="help";
printf("%d",strlen(s));
}
Warum der obige Ausgang ist 4, ist das nicht 5 ist die richtige Antwort?ist das Zeichen Nullabschluss in der Länge
es sollte 'h', 'e', 'l', 'p', '\ 0' in Erinnerung sein ..
Dank.
Wenn Sie 'verwendet sizeof (n)/sizeof (char)' Sie würde die Antwort bekommen Sie erwarten. –
@WaleedKhan: True - wenn der Code wie oben geschrieben wird. Leider werden scheinbar triviale Änderungen (z. B. "char * s =" help ";") das durchbrechen, also musst du ziemlich vorsichtig damit umgehen. Solange wir dabei sind, ist 'sizeof (char)' immer 1, also wäre 'sizeof (s)' für den Code in Ordnung, wie er gerade ist. –
War die Dokumentation zu diesem Thema unklar? –