#10
by かずま » 6年前
たいちう さんが書きました:ご希望と違うかもしれませんが、正攻法はこうでしょう。
コード:
void sub(int i) { 処理式 }
int main() {
for (int i = 220; i < 250; i++)
sub(i);
for (int i = 0; i < 50; i++)
sub(i);
return 0;
}
確かに正攻法ですが、for文の前に、複数の変数の設定があって、
処理式がそれらを参照する場合ならどうでしょうか?
すべての変数を関数 sub に引き渡すのが煩雑になるでしょう。
みけCATさんの方法が一番良いように思いますが、
構造体になじみのない方は、配列にする手もあります。
.begin/.end が [0]/[1] になります。
コード:
#include <stdio.h>
int main(void)
{
int range[4][2] = { {220, 250}, {0, 50}, {90, 100}, {0,10} };
for (int k = 0; k < 4; k++) {
for (int i = range[k][0], j = range[k][1]; i < j; i++) {
printf(" %d", i); // 処理式
}
}
return 0;
}
これだけたくさんの回答が寄せられているのですから、
質問者さんには、コメントや解決などの返信をお願いします。
[quote="たいちう" id=3,19212,145496]ご希望と違うかもしれませんが、正攻法はこうでしょう。
[code]void sub(int i) { 処理式 }
int main() {
for (int i = 220; i < 250; i++)
sub(i);
for (int i = 0; i < 50; i++)
sub(i);
return 0;
}[/code][/quote]
確かに正攻法ですが、for文の前に、複数の変数の設定があって、
処理式がそれらを参照する場合ならどうでしょうか?
すべての変数を関数 sub に引き渡すのが煩雑になるでしょう。
みけCATさんの方法が一番良いように思いますが、
構造体になじみのない方は、配列にする手もあります。
.begin/.end が [0]/[1] になります。
[code]
#include <stdio.h>
int main(void)
{
int range[4][2] = { {220, 250}, {0, 50}, {90, 100}, {0,10} };
for (int k = 0; k < 4; k++) {
for (int i = range[k][0], j = range[k][1]; i < j; i++) {
printf(" %d", i); // 処理式
}
}
return 0;
}
[/code]
これだけたくさんの回答が寄せられているのですから、
質問者さんには、コメントや解決などの返信をお願いします。