本文目錄一覽:
- 1、請問:這段 C語言程序 為什麼swap函數有錯誤?沒有分了 多多幫忙吧!
- 2、gcc編譯 C程序 調用函數 swap() 為什麼會找不到swap 函數呢。。
- 3、C語言中為什麼顯示swap沒有類型
- 4、VS2010,”Swap”: 找不到標識符
請問:這段 C語言程序 為什麼swap函數有錯誤?沒有分了 多多幫忙吧!
#include “stdio.h”
#include “conio.h”
swap(int *p1,int *p2)
{int *temp;/*錯在這個地方,指針變量沒有指向特定的地址,不能賦值,你可以改成 int temp;temp=*p1;*p1=*p2;*p2=temp;*/
*temp=*p1;
*p1=*p2;
*p2=*temp;
}
gcc編譯 C程序 調用函數 swap() 為什麼會找不到swap 函數呢。。
1、void swap();
聲明錯誤
void swap(int *, int *);
2、函數錯誤
int swap(p1,p2)
int *p1,*p2;
{ int p;
p=*p1;*p1=*p2;*p2=p;
return p1;
return p2;
}
改為:
void swap(int *p1,int *p2)
{ int p;
p=*p1;*p1=*p2;*p2=p;
}
C語言中為什麼顯示swap沒有類型
swap函數一般是一個程序員自定義函數。通常是實現兩個變量數值的交換。比如
int a = 2;
int b =3;
swap(a,b); //一般用到變量數值交換,交換後a=3 b = 2;
實現的方法多種多樣。比如下面幾種寫法:
1、通過使用臨時變量實現交換。
void swap1(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
2、通過臨時指針變量實現交換。
void swap2(int *x,int *y)
{
int *temp;
temp=x;
x=y;
y=temp;
}
3、藉助指針加入臨時變量來實現交換。
void swap3(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
VS2010,”Swap”: 找不到標識符
Swap是作為一個類的成員函數,除了能被類的其它函數調用外就只能由類的實例化對象調用。SelectSort 不是類datalist的成員函數 自然不能直接調用Swap函數。如果要使用需要先定義
datalist *lis=new datalist();
lis-Swap(i,k);
或者將函數從類的定義中分離出來 成為全局函數 或者將函數聲明為靜態函數
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/201038.html