用VC直接创建了一个.cpp文件,为什么编译提示错误说我的函数找不到?
error C2065: 'sort' : undeclared identifier
function-style initializer appears to be a function definition#include <stdio.h>
main()
{
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for (p=a,i=0;i<10;i++)
{
printf("%d",*p);
p++; }}int x[],n;
sort(x,n)
{ int i,j,k,t;
for (i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
error C2065: 'sort' : undeclared identifier
function-style initializer appears to be a function definition#include <stdio.h>
main()
{
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for (p=a,i=0;i<10;i++)
{
printf("%d",*p);
p++; }}int x[],n;
sort(x,n)
{ int i,j,k,t;
for (i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}
一种是将sort函数在main前申明,一种是将sort函数放在main之前。
#include <stdio.h>int x[],n;
sort(x,n)
{ int i,j,k,t;
for (i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}main()
{
int *p,i,a[10];
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);
p=a;
sort(p,10);
for (p=a,i=0;i<10;i++)
{
printf("%d",*p);
p++; }}
error C2065: 'sort' : undeclared identifier
不知你哪学来的语法,应该这样定义函数的
void sort(int *x,int n)
{ int i,j,k,t;
for (i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}
}
}