- 13 名前:仕様書無しさん [2007/05/08(火) 21:13:20 ]
- #include<stdio.h>
void print0(){ printf("print0\n"); } void print1(){ printf("print1\n"); } void print2(){ printf("print2\n"); } void print3(){ printf("print3\n"); } void print4(){ printf("print4\n"); } typedef void(*voidfunc_t)(); voidfunc_t*asdf(voidfunc_t*a,voidfunc_t*b){ voidfunc_t*t=a; a=b; return b=t; } int main(void){ void(*a[5])(); voidfunc_t*(*f)(voidfunc_t*,voidfunc_t*); [ X ] f=asdf; f(&a[2],f(&a[3],f(&a[4],f(&a[0],f(&a[1],&a[2]))))); for(int i=0;i<5;i++) (a[i])(); return 0; } の実行結果が print0 print4 print2 print3 print1 となるには[ X ]の部分になんと記述すればよいか
|

|