2016-08-23 13 views
-7

2つの変数をchar配列に格納し、最初のものを以下に示すように出力したいと思います。変数を格納するCのchar配列

const char *a[2]; 
      a[0] = getCapital(bufferStore); //"Australia" 
      a[1] = getCurrencyCode(bufferStore); "9876.00" 

      printf("%s", a[0]); 

しかし、出力はありませんでした。 getCapitalとgetCurrencyCodeのコードはここでは重複していなければなりません。私が知りたいことは、「オーストラリア」をどのように印刷できるかです。私はC言語が新しく、ポインタは本当に理解しにくいですし、私の割り当ては2時間以内です。どんな助けでも大歓迎です!

+0

http://stackoverflow.com/questions/21376645/store-string-into-array-in-c – Idos

+2

機能のコードが重複していますか?それはあなたの問題にとって非常に重要であるようです。 –

+3

また、アプリケーションのデバッグを試しましたか?文字列の最後に改行を追加してみましたか? –

答えて

0

ファイルstdoutprintfの書き込み先)は、デフォルトではラインバッファーです。これは、あなたが書き込むすべてのものがバッファリングされている、すなわちメモリに保存されていることを意味し、改行を印刷するときにフラッシュされます(実際には印刷されます)。

+2

@lurkerはOPのコメントに言及しているので、 ''\ n''または' 'fflush(stdout)' 'を追加することで動作の変化はプログラムの異常終了を示し、大きな問題を暗示します。 – EOF

+0

@EOFおそらく、MCVEがなければ、伝えるのは本当に不可能です。 –