该怎么做~!初学者整不来了

来源:百度知道 编辑:UC知道 时间:2024/04/28 07:23:49
一道题 是这样的
要求编写一个程序/使用指针交换两个数的值...

我想是不是要这样定义变量
int num1=10,num2=20;
int *ptr1,*ptr2,*ptr3;
然后把*ptr1的值赋给*ptr3,然后在把*ptr2的值赋给*ptr1
接着把*ptr3的值在赋给*ptr2,,,不知道这样是不是正确的
..但我不知道怎么写~!

我按照你的意思大概写了一下,你可以自己调试一下
main()
{
int a,b,c;
int *x,*y;
x=&a;
y=&b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d",a,b);
c=*x;
*x=*y;
*y=c;
printf("a=%d,b=%d",a,b);
}

我想,楼主的题目的本意是写个交换函数.

void swap(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
}

void main()
{
int x,y;
x=10;y=20;
printf("x=%d,y=%d\n");
swap(&x,&y);
printf("x=%d,y=%d\n",x,y);
}

int *ptr1 = new int( 10 );
int *ptr2 = new int( 20 );
int *ptr3;

prt3 = prt1; // prt3和prt1都指向10。
prt1 = prt2; // prt1改指向20。
prt2 = prt3; // prt2改指向10。

这样之后prt1就指向20,prt2就指向10了。