关于一个简单的C程序,请指教

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:24:24
#include "stdio.h"
swap(int *P1,int *P2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
int main()
{
int a,b;
int *a_pointer,*b_pointer;
printf("input two numbers:\n");
scanf("%d,%d",&a,&b);
a_pointer=&a;
b_pointer=&b;
if(a<b)
swap(a_pointer,b_pointer);
printf("a=%d,b=%d",*a_pointer,*b_pointer);
}
出先一下错误,不是很明白
--------------------Configuration: Cpp2 - Win32 Debug--------------------
Compiling...
Cpp2.cpp
D:\EDA\workdir VC2005\Cpp2.cpp(5) : error C2065: 'p1' : undeclared identifier
D:\EDA\workdir VC2005\Cpp2.cpp(5) : error C2100: illegal indirection
D:\EDA\workdir VC2005\Cpp2.cpp(6) : error C2100: illegal indirection
D:\EDA\workdir VC2005\Cpp2.cpp(6) : error C2065: 'p2' : undeclared identifier
D:\EDA\workdir VC2005\Cpp

1.swap里面的参数前面是P1,P2 后面应该改成小写

2.将函数名前面写成:void

3.最关键的:scanf("%d,%d",&a,&b); %d,%d之间不应该有逗号的

D:\EDA\workdir VC2005\Cpp2.cpp(20) : warning C4508: 'main' : function should return a value; 'void' return type assumed

这个警告很明显是你把 main 的返回值定义成了 int 改为 void

其他的...
你的文件后缀是不是cpp?
说清楚点

swap里面的参数前面是P1,P2 后面成了小写的啦