4

最初の文字だけでなく、単語全体を印刷しようとしています。ループでそれを行うこともできましたが、もっと良い方法があると考えました。私は周りを検索していて、 %S を %c に変更したという回答を見ましたが、文字配列であるため、既に %c を使用しています。

char* words[] = {"my", "word", "list"};
printf("The word: %c",*words[2]);

Results:
The word: l
4

2 に答える 2

8

問題は、2回参照を解除したことです。* words [2]の[2]は、words []から「list」に逆参照し、次に*は「list」から「l」にもう一度逆参照します。*と出来上がりを削除します。

char* words[] = {"my", "word", "list"};
printf("The word: %s", words[2]);
于 2012-11-08T20:54:43.413 に答える
4

%snull で終わる文字配列 (つまり、C 文字列) に特に使用される形式である を使用する必要があります。次のように、配列の要素を に渡すときに逆参照しませんprintf

printf("The word: %s\n", words[2]);
于 2012-11-08T20:52:29.150 に答える