本文目录一览:
- 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);
或者将函数从类的定义中分离出来 成为全局函数 或者将函数声明为静态函数