ページ 11

関数A,B,Cがある場合

Posted: 2013年7月31日(水) 14:19
by メモリーモリメ
関数A,B,Cがある場合で、main関数でAを呼び出すとします。

type A()
{

typeB()


}


typeB()
{

typeC()

}



typeC()
{
typeA()
}

こういう呼び出しがループするような関数系ってありますか?

Re: 関数A,B,Cがある場合

Posted: 2013年7月31日(水) 14:47
by h2so5
「関数系」という単語をどういう意味で使っているのかが分かりません。

Re: 関数A,B,Cがある場合

Posted: 2013年7月31日(水) 15:12
by みけCAT
今作りました。

コード:

#include <stdio.h>

void typeA(void);
void typeB(void);
void typeC(void);

void typeA(void) {
	puts("Here is typeA!");fflush(stdout);
	typeB();
}

void typeB(void) {
	puts("Here is typeB!");fflush(stdout);
	typeC();
}

void typeC(void) {
	puts("Here is typeC!");fflush(stdout);
	typeA();
}

int main(void) {
	typeA();
	return 0;
}
コンパイルも通ります。
http://ideone.com/FS0mGA

Re: 関数A,B,Cがある場合

Posted: 2013年7月31日(水) 15:44
by 珈琲
何に使うのかはわかりませんが、関数のスタックが溜まり続けるので数分以上動かし続けるならやめたほうがいいんじゃないですか?

Re: 関数A,B,Cがある場合

Posted: 2013年7月31日(水) 16:06
by メモリモリメ
そうですね。気をつけます。
ありがとうございます。

Re: 関数A,B,Cがある場合

Posted: 2013年7月31日(水) 16:07
by メモリモリメ
ありがとうございます。

Re: 関数A,B,Cがある場合

Posted: 2013年8月01日(木) 19:05
by マリモ
スタックって怖いですよね。
メモリが破壊されるんですよね。
気をつけます。