プロが教えるわが家の防犯対策術!

c言語で同じ処理を何度も使う場合どうすればよいのでしょう?
 たとえば
  
  for(i=0;i<=10;i++)
[ここでAのプログラム処理]
for(j=0;j>10;j++)
[ここでもAの処理]

同じ内容のプログラムをその都度書くのは非常に面倒!
ベーシックのGOSUBやCALLと同じようにできる方法はないでしょうか?

A 回答 (2件)

>だった場合の例題を教えてもらえないでしょうか。


まずはそのコードブロックが何をしているかを考えます。

「k の値に応じて y に値をセットする」

ですね。

int codeA(int k) {
 if ( k == 0 ) {
  return 0;
 }
 if ( k == 1 ) {
  return 1;
 }
 return -1;
}

などと関数を定義すると

「 k の値に応じて値を戻す」

ことが出来るので、それを y に代入するだけです。

for ( i = 0 ; i <= 10 ; i++ ) {
 y = codeA(k);
}
for ( j = 0 ; j > 10 ; j++ ) {
 y = codeA(k);
}

な感じ。ただし、後半はループがまったく回らないので意味のないコードブロックになってますが。
    • good
    • 0
この回答へのお礼

貴重な回答ありがとうございます。
とても参考になりました。
またわからないことがありましたら投稿します。
いまさらながらの質問かもしれませんがそのときはどうぞよろしく
お願いします。
本当にありがとうございます。

お礼日時:2007/12/01 18:40

>ベーシックのGOSUBやCALLと同じようにできる方法はないでしょうか?


それが関数呼び出しです。
[Aのプログラム処理]なるものを関数にして都度呼びましょう。

この回答への補足

回答ありがとうございます。
ただ今までベーシックばかりやってたものでCの関数なるものが
いまいち?
Aを
if(k==0)
y=0;
if(k==1)
y=1;
だった場合の例題を教えてもらえないでしょうか。
あつかましいお願いで申し訳ありません。

補足日時:2007/11/20 17:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!