• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:以下のc言語のプログラムの意味について)

C言語プログラムの意味とは?

このQ&Aのポイント
  • C言語プログラムの意味について詳しく教えてください。
  • C言語のプログラムの出力結果について詳しく教えてください。
  • C言語のプログラムの詳しい意味を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.2

初心者にはやや難しいかもしれないですね。 わかりやすく書き直してみたので、試しに読んでみてください。 #include <stdio.h> #define MESSAGE_REPEAT 5 #define MESSAGE_FORMAT "welcome count:%d\n" /* UNIXでは正常時に0、異常時にそれ以外の数を返す */ #define PROGRAM_SUCCESS 0 #define PROGRAM_FAILED 1 int MyPrint (int); int main() {  static int max;  int i, returnValue;  /* 繰り返し回数の代入 */  max = MESSAGE_REPEAT;  for(i=0; i<max; i++){   /* 正常時は正の数、異常時は負の数を返す */   returnValue = MyPrint(i+1);   /* 異常終了 */   if(returnValue < 0){    return PROGRAM_FAILED;   }  }  /* 正常終了 */  return PROGRAM_SUCCESS; } /* フォーマットに従って数値を出力 */ int MyPrint (int n) {  int responseValue = 0;  responseValue = printf(MESSAGE_FORMAT, n);  return responseValue; }

yassynet
質問者

お礼

shiren2さん回答ありがとうございます。 defineはどういう意味なのですか?? また、異常時とはどのような時に起きるのですか?? 基本的な質問ばかりかもしれませんが、 すみません

その他の回答 (1)

回答No.1

全体的には、 MAX_CNTで定義された回数だけ、MSG_STRで定義された文字列を回数と共に表示し、表示関数(printf)が失敗したら1を、そうでなければ0を起動元(通常はOS)に返す。 って、感じだけど、説明できるようにのフレーズからすると、 main関数は、表示の回数をfor文で制御していて、OSに戻り値を返す。 Myprint関数で、回数をパラメータとして受け取り実際の表示をして、表示の成否を返す。 くらいは押さえておいたほうが良いのかな? ちなみに、mainの中のstatic宣言は、意味が無い。

yassynet
質問者

お礼

TaketsuruOishiさん回答ありがとうございます。 なんで、static宣言を入れているのですか? 調べてみると、静的変数と書いていましたが、基本的には どのような時にstatic宣言をするのですか??

関連するQ&A