2016-08-27 9 views
2

私は楽しいことにCを学習しています。文字列を作成するプログラムを作成しようとしています。2D文字列配列を初期化してそれを印刷する

char str[2][10]; 
strcpy(str[0], "foo"); 
strcpy(str[1], "bar"); 
printf("%d \n",str[0]); 
printf("%d \n",str[1]); 

しかし、私のprintfリターンのみいくつかの数字を、と私はそれがFOOバーを表示したいと思います:私は今、この権利をしようとしています。私は約読んでいると私はそれが私の文字列へのポインタを表示していると思う。私は間違って何をしていますか?

+0

何を表示していますか? –

+2

'printf'と書式設定文字列のドキュメントを調べるのに少し時間を費やしたいかもしれません。 – lurker

+0

あなたは*** 1D ***文字列配列を持っています。これは実際には* 2D * - ** 'char' **配列です。 (私はそれに応じてタイトルを調整しました) – alk

答えて

6

の形式で印刷しています。これは、intの印刷に使用されます。あなたのコードを変更します。

printf("%s\n", str[0]); 
printf("%s\n", str[1]); 

printfための指定子フォーマットの詳細については、this linkを参照してください。

+0

@alkありがとう、編集中。 – Marievi

関連する問題