C语言指针函数错误?

#include<stdio.h>
void main()

int a,b;
a=5,b=10;
printf("before swap a=%d,b=%d\n",a,b);
swap(&a,&b);
printf("after swap a=%d,b=%d\n",a,b);
}
swap( px, py)
{
int * px,* py;

int temp;
temp = * px;
* px = * py;
* py = temp;
printf("in swap x=%d,y=%d\n",* px ,* py);
}

运行结果时候
zhizhengmain.cpp
F:\C语言\20130702\zhizhengmain.cpp(7) : error C2065: 'swap' : undeclared identifier
F:\C语言\20130702\zhizhengmain.cpp(10) : error C2065: 'px' : undeclared identifier
F:\C语言\20130702\zhizhengmain.cpp(10) : error C2065: 'py' : undeclared identifier
F:\C语言\20130702\zhizhengmain.cpp(11) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
执行 cl.exe 时出错.

zhizhengmain.obj - 1 error(s), 0 warning(s)
为什么??

三国纷争
浏览 992回答 3
3回答

浮云间

undeclared identifier的意思你就可以理解为没有定义。只需要改一下就可以了。123456789101112131415161718#include<stdio.h>void&nbsp;swap(int&nbsp;*&nbsp;px,int&nbsp;*&nbsp;py);//提前申明函数void&nbsp;main(){&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;a,b;&nbsp;&nbsp;&nbsp;&nbsp;a=5,b=10;&nbsp;&nbsp;&nbsp;&nbsp;printf("before&nbsp;swap&nbsp;a=%d,b=%d\n",a,b);&nbsp;&nbsp;&nbsp;&nbsp;swap(&a,&b);&nbsp;&nbsp;&nbsp;&nbsp;printf("after&nbsp;swap&nbsp;a=%d,b=%d\n",a,b);}viod&nbsp;swap(int&nbsp;*&nbsp;px,int&nbsp;*&nbsp;py){&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;temp&nbsp;=&nbsp;*&nbsp;px;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;px&nbsp;=&nbsp;*&nbsp;py;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;py&nbsp;=&nbsp;temp;&nbsp;&nbsp;&nbsp;&nbsp;printf("in&nbsp;swap&nbsp;x=%d,y=%d\n",*&nbsp;px&nbsp;,*&nbsp;py);}

繁华开满天机

函数swap要有类型,然后还应该在main函数前声明。。另外main函数里的swap( px, py)这里px py没有定义
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Maya