以下程序输出结果是?#include<stdio.h> int x,y,z;

#include<stdio.h>
int x,y,z;
void p(int *x,int y)
{
int t;
t=*x;
*x=y;
y=t;
printf("%d,%d,%d\n",*x,y,z);
}
void main()
{
x=5;y=2;z=0;
printf("%d,%d,%d\n",*x,y,z);
p(&x,y);
printf("%d,%d,%d\n",*x,y,z);
}

你这代码应该写错了吧,是不是这样的:

#include<stdio.h>
int x,y,z;
void p(int *x, int y)
{
    int t;
    t = *x;
    *x = y;
    y = t;
    printf("%d,%d,%d\n", *x, y, z);
}
int main()
{
    x = 5;
    y = 2;
    z = 0;
    printf("%d,%d,%d\n", x, y, z); /*是x而不是*x*/
    p(&x, y);
    printf("%d,%d,%d\n", x, y, z); /*是x而不是*x*/
return 0;
}

输出结果是:

温馨提示:答案为网友推荐,仅供参考
相似回答