帮忙看看这段简单的C++程序的错误是什么意思,怎么修改!!!

来源:百度知道 编辑:UC知道 时间:2024/06/02 04:04:49
用指针从小到大排列10个数。
#include<iostream.h>
int main()
{
void sort(int *);
int a[10];
for(int i=0;i<10;i++)
cin>>a[i];
sort(a);
for(i=0;i<10;i++)
cout<<a[i];
}
void sort(int *p)
{
int t,k;
for(int i=0;i<9;i++)
{
k=i;
for(int j=i+1;j<10;j++)
if(*(p+k)>*(P+j))
k=j;
t=*(p+i);
*(p+i)=*(p+k);
*(p+k)=t;
}
}
if(*(p+k)>*(P+j))这段有错误,
E:\Debug\ekhg.cpp(20) : error C2065: 'P' : undeclared identifier
E:\Debug\ekhg.cpp(20) : error C2100: illegal indirection
这两个错误是什么意思啊?我刚学没多长时间不太懂,会的帮忙解释一下这两个错误是什么引起的??
怎么修改?

E:\Debug\ekhg.cpp(20) : error C2065: 'P' : undeclared identifier
P : 未定义标识

注意大小写啊,前面小写p,这里大写P。。。。

if(*(p+k)>*(P+j))
这一句错误。你后面的P是大写,和前面的小写不一致。c/c++对大小写敏感,即对大小写当做不同对待。

其实你看看字面意思就明白了 ,P不是凭空跑出来的 用之前申明一下

变量P没有定义,只要这个改了第二个错误就没有了。