|
发表于 2021-11-1 00:33:58
|
显示全部楼层
本帖最后由 jackz007 于 2021-11-1 09:24 编辑
无需,可以直接交换数值。
只有需要通过函数交换变量数值的时候,才需要把指向变量的指针作为输入参数传入函数。这样,才可以在函数中交换变量的值。
- #include <stdio.h>
- int main(void)
- {
- int a , b , c , d ;
- printf(" 请输入三个数:") ;
- scanf("%d%d%d" , & a , & b , & c) ;
- if(a > b) {
- d = a ; a = b ; b = d ;
- }
- if(a > c) {
- d = a ; a = c ; c = d ;
- }
- if(b > c) {
- d = b ; b = c ; c = d ;
- }
- printf("%d <= %d <= %d\n" , a , b , c) ;
- }
复制代码
当然,这样写也是一样的:
- #include <stdio.h>
- int main(void)
- {
- int a , b , c , d , * e = & a , * f = & b , * g = & c ;
- printf(" 请输入三个数:") ;
- scanf("%d%d%d" , & a , & b , & c) ;
- if(a > b) {
- d = * e ; * e = * f ; * f = d ;
- }
- if(a > c) {
- d = * e ; * e = * g ; * g = d ;
- }
- if(b > c) {
- d = * f ; * f = * g ; * g = d ;
- }
- printf("%d <= %d <= %d\n" , a , b , c) ;
- }
复制代码 |
|