-2

私はこのようなコードの出力が何であるかを理解しようとしました.ちなみに、それは実際の質問ではなく、一種の理論的な質問です.つまり、それは元のCコードではなく、PLのようなものです. c コードの構文であり、名前パラメーター パラダイムによって渡されます。

int x=12,y=10;
void tswap(int pa, int pb) {
int tmp;
tmp=pa;
pa=pb;
pb=tmp;
x=x+pa;
x=x-pb;
y++;
printf("%d %d %d %d\n",pa,pb,x,y);
}

int main() {
int a=4;
tswap(x,a);
printf("%d %d %d\n",x,y,a);
tswap(++x,++y);
printf("%d %d %d\n",x,y,a);
return 0;
}

最初の部分の出力は次のようになるはずです:

-4 12 -4 11
-4 11 12

しかし、部分 tswap (++x, ++y) の論理的な解決策を見つけることができました。この部分をどのように処理できるかを知っている人はいますか?

前もって感謝します !

4

1 に答える 1

1
tswap(++x,++y) 

以下と同じです:

++x;
++y;
tswap(x,y);

あなたの出力を作る:

4 12 4 11
4 11 4
12 5 12 13
12 13 4
于 2013-04-08T23:06:37.783 に答える