テスト復習をしているんですが・・・
#include<stdio.h>
short Sub1(short *);
short Sub2(short *, short);
short Sub3(short *);
void main(){
short Ans, A, B, C;
Ans = A = B = C = 0;
Sub1(&A);
B = Sub2(&A, A);
C += Sub1(&B) + Sub3(&C);
Ans = A + B + C;
printf("Ans=%d:A=%d:B=%d:C=%d:C=%d\n",Ans, A, B, C);
}
short Sub1(short *pX){
*pX += 3;
return Sub2(pX, 5);
}
short Sub2(short *pX, short Y){
*pX += Y;
return *pX + Y;
}
short Sub3(short *pX){
*pX += 5;
return *pX + 1;
}
という問題なんですが、
答えはAns=96,A=16,B=32,C=48です。
なぜ、こうなるのかがわかりません。どなたか助けていただけないでしょうか!よろしくお願いします!
補足
それはバグがでていない状況ですよね。それはバグがでていない状況ですよね。