私は中期的に勉強していて、ある概念を理解する上で問題があります。ここで質問です:C:printfステートメントでchar *を%sに渡す
次のコード行の出力は何ですか:
char S1[50] = "jack", S2[50] = "jill", S3[50], *Sptr;
printf("%c$s\n", toupper(S1[0]), &S1[1]);
出力は、それが「ジャック」を印刷している理由私は、理解していない
Jack
です。 %sは文字列を出力することになっています。 & S1 [1]は文字列ですか?私はそれがS1 [1]のアドレスだと思った。そうじゃないの?
ありがとうございました。
「%c%s \ n」を意味すると思います。このタイプミスは元のコードにありますか? – rlee827
'%s'への引数は、文字列の最初の文字へのポインタです。 S1 [1]のアドレスはまさにそれです。 –