亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么不能用swap函數代替/* */部分呢?還是說這個函數是寫的有問題的?因為結果是值沒有交換

為什么不能用swap函數代替/* */部分呢?還是說這個函數是寫的有問題的?因為結果是值沒有交換

張幼安 2017-08-07 12:16:49
#include <stdio.h>int main(){//交換地址void swap(int *p1,int *p2); //申明swap函數int a,b;??????????????????? //定義初始變量int *pointer_1,*pointer_2;? //定義兩個指針變量printf("please enter a and b:\n");scanf("%d,%d",&a,&b);?????? //將輸入的兩個常數賦值給初試變量a ,bpointer_1 = &a;pointer_2 = &b;printf("pointer_1 = %d,pointer_2 = %d\n",*pointer_1,*pointer_2); printf("a = %d,b = %d\n",a,b);swap(pointer_1,pointer_2);/*int *p;p = pointer_1;pointer_1 = pointer_2;pointer_2 = p;*/printf("max = %d,min = %d",*pointer_1,*pointer_2);return 0;}void swap(int *p1,int *p2){?int *p;?p = p1;?p1 =p2;?p2 = p;}
查看完整描述

1 回答

?
賓丶高

TA貢獻35條經驗 獲得超18個贊

你交換了指針的指向,但并沒有改變指針指向的內容,將swap函數改為

int p;

?p = *p1;

?*p1 =*p2;

?*p2 = p;

,就可以了

查看完整回答
反對 回復 2017-08-07
  • 張幼安
    張幼安
    什么叫改變了指向,卻沒有改變指向的內容?意思是,改變了指向的同時,內容也發生變化了嗎?
  • 賓丶高
    賓丶高
    我回答已經超過一年了大哥[微笑]
  • 1 回答
  • 0 關注
  • 1995 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號