指针冒泡排序c语言代码,用指针编写冒泡排序方法
滿意答案
ha141988
2013.05.26
采納率:44%????等級:13
已幫助:10095人
需要修改三個地方:(確保程序正常運行)
1.scanf("%d",*ptr);改為scanf("%d",ptr);
因為ptr本身就是指針,*ptr是內容,不對;scanf函數的第二個參數應該是指針(也可以是地址)
2.第一個for循環,就是在scanf的那個循環體完后加上ptr=&num[0];
如果不加上你的ptr就指向一塊未知的內存,那么你下面的for循環操作將出錯
3.在printf("冒泡完了為:\n"); 語句后加上ptr=&num[0];
道理同上
還需修改的一個地方,就是你的算法不對,你這個根本不是什么冒泡算法,請你自己修正吧;這里就不幫你修改了!!!
修改后的程序如下:
#include
#define N 5
void main()
{
int *ptr,num[N],i,temp;
ptr=&num[0];
printf("請輸入5個數字:");
for(i=0;i
{
scanf("%d",ptr); //修改錯誤
ptr++;
}
ptr=&num[0];//修改錯誤
for(i=0;i
{
if(*ptr
{
temp=*(ptr+1);
*(ptr+1)=*ptr;
*ptr=temp;
ptr++;
}
}
ptr=&num[0];//修改錯誤
printf("冒泡完了為:\n");
for(i=0;i
{
printf("%d",*ptr);
ptr++;
printf("\n");
}
}
10分享舉報
總結
以上是生活随笔為你收集整理的指针冒泡排序c语言代码,用指针编写冒泡排序方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言中0xde 这怎么用,为什么使用0
- 下一篇: c语言微信昵称大全女生优雅经典的,微信昵