|
1鱼币
swap2(int *p,int *q)
{int *t;
t=p; p=q; q=t;
cout<<"num1=”<<*p<<’,’<<”num2="<<*q<<’;’;
}
swap3(int *p,int *q)
{int t;
t=*p;*p=*q;*q=t;
cout<<"num1=”<<*p<<’,’<<”num2="<<*q<<’;’;
这两种代码都是用来交换两个整数变量的值,但是实现方式不同。
第一种代码 `swap2` 是使用指针的方式进行交换。该函数接受两个指针 `p` 和 `q` 作为参数,这两个指针分别指向两个整数变量的地址。在函数中,定义了一个指针 `t`,并将其指向 `p` 所指向的地址。然后将 `p` 指向 `q` 所指向的地址,将 `q` 指向 `t` 所指向的地址,这样就完成了 `p` 和 `q` 的交换。最后输出交换后的结果。
第二种代码 `swap3` 是直接使用变量的方式进行交换。该函数同样接受两个指针 `p` 和 `q` 作为参数,这两个指针分别指向两个整数变量的地址。在函数中,定义了一个整型变量 `t`,将 `p` 所指向的变量的值赋给 `t`,然后将 `p` 所指向的变量的值改为 `q` 所指向的变量的值,将 `q` 所指向的变量的值改为 `t`,这样就完成了 `p` 和 `q` 的交换。最后输出交换后的结果。
两种代码的区别在于交换的方式不同,第一种方式使用指针进行交换,第二种方式直接使用变量进行交换。在使用上,第一种方式更直观,但需要使用指针;第二种方式则更简单,但需要进行变量的赋值操作。
|
最佳答案
查看完整内容
这两种代码都是用来交换两个整数变量的值,但是实现方式不同。
第一种代码 `swap2` 是使用指针的方式进行交换。该函数接受两个指针 `p` 和 `q` 作为参数,这两个指针分别指向两个整数变量的地址。在函数中,定义了一个指针 `t`,并将其指向 `p` 所指向的地址。然后将 `p` 指向 `q` 所指向的地址,将 `q` 指向 `t` 所指向的地址,这样就完成了 `p` 和 `q` 的交换。最后输出交换后的结果。
第二种代码 `swap3` 是直接使用变量 ...
|