这两种表示的解释
swap2(int *p,int *q){int*t;
t=p; p=q; q=t;
cout<<"num1=”<<*p<<’,’<<”num2="<<*q<<’;’;
}
swap3(int *p,int *q)
{intt;
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”使用一个指针变量“ t”,将它指向p所指向的整数,然后将p指向q所指向的整数,最后再将q指向t所指向的整数,完成对p和q所指向整数的交换。但是由于只是改变了指针的指向,并没有改变指针指向的值,所以这个函数实现的结果是不正确的。
函数“swap3”使用了一个整型变量“t”, 将其赋值为p所指向的整数,然后将p所指向的整数赋值为q所指向的整数,最后将q所指向的整数赋值为t所指向的整数,完成对p和q所指向的整数的交换。这种方式是正确的。
页:
[1]