since string literal can initialized like
char mystring [] = "somestring";
it seems logical able use function like
int stringlength ( char * str ) { char * c2 = str; while (*c2++); return (c2-str); }
and call
printf("%d",stringlength("somestring"));
however, error when that.
is there way can "cast" "something"
proper input function, or have use line like
char str [] = "somestring"; printf("%d",stringlength(str));
or there else should doing altogether?
char mystring [] = "somestring";
creates array of characters modifiable.
when use
printf("%d",stringlength("somestring"));
it analogous to:
char const* temp = "somestring"; printf("%d",stringlength(temp));
that's why compiler not it.
you can change function use char const*
argument able use that.
int stringlength ( char const* str ) { char const* c2 = str; while (*c2++); return (c2-str); }