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

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

為什么a,b使用指針交換值編譯通過,但出現異常值?(什么先輸出大先輸出小就別管了,懶得改)

為什么a,b使用指針交換值編譯通過,但出現異常值?(什么先輸出大先輸出小就別管了,懶得改)

張幼安 2017-08-07 11:00:51
#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;if (a>b)swap(pointer_1,pointer_2);printf("min = %d,max = %d\n",b,a);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 回答

?
吳邪Cc

TA貢獻1條經驗 獲得超0個贊

serf

查看完整回答
反對 回復 2017-08-07
?
氵5

TA貢獻1條經驗 獲得超0個贊

確定按照scanf的格式輸入了嗎?你可以在scanf后面printf看看輸入成功沒
查看完整回答
反對 回復 2017-08-07
?
精慕門1091730

TA貢獻9條經驗 獲得超7個贊

我看可能是你沒在main函數前聲明一下函數,swap函數找不到入口

查看完整回答
反對 回復 2017-08-07
?
張幼安

TA貢獻3條經驗 獲得超1個贊

那個,上述表述不清,不好意思哈。因為輸入是能實現的。原意是想問,就是說輸入的時候,不按格式輸入,會出現異常值,操作系統內部是溢出還是?

查看完整回答
反對 回復 2017-08-07
?
慕前端4312548

TA貢獻1條經驗 獲得超0個贊

scanf("%d,%d",&a,&b); 輸入a、b值時,之間的逗號不要忘記。

查看完整回答
反對 回復 2017-08-07
?
wDan_9527

TA貢獻13條經驗 獲得超15個贊

swap()函數無返回值,交換只在函數swap()內部起作用,而在主函數中并未交換值

應該把swap()該為int型,讓函數swap()有返回值

查看完整回答
1 反對 回復 2017-08-07
  • 1 回答
  • 0 關注
  • 5509 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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