|
void A(int *v,int *n){
*n = 0;
*v = 0;
printf("初期化 : %d\n", *v);
}
void B(int *v ,int *n){
(*v)++;
*n += *v;
printf("処理 : %d\n", *v);
}
void C(const int* n){
printf("結果 : %d\n", *n);
}
void all_func(int val){
int sum,plus;
A(&plus,&sum);
while(1){
if(plus < val) B(&plus,&sum);
else{ C(&sum);break;}
}
}
typedef void (*AllFuncType)(int);
AllFuncType AllFunc(void){
return all_func;
}
int main(void){
all_func(10);
AllFunc()(20);
return 0;
}
|