指针问题
#include<stdio.h>void 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++;
}
}
/*
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;
}
}
}
*/
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;
}
}
}
红色和蓝色是我写的两个一样的! 但是结果总是说:
error C2065: 'sort' : undeclared identifier
error C2373: 'sort' : redefinition; different type modifiers
就是sort 没有识别声明!
sort重定义,修改不同类型!
请大家帮助看看!
搜索更多相关的解决方案:
指针
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void sort (int *x, int n);
void main()
{
int *p, i, a[10];
----------------解决方案--------------------------------------------------------
声明.
----------------解决方案--------------------------------------------------------
你自己定义的函数在主调函数的后面 所以在开始要先声明该自定义函数
和二楼的一样 记得后面加分号
#include<stdio.h>
void sort (int *x, int n);
void main()
{
int *p, i, a[10];
如果被调函数在主调函数前面 那么可以不声明!!!
----------------解决方案--------------------------------------------------------
谢谢各位拉~~~
我没有注意哦```
----------------解决方案--------------------------------------------------------
以下是引用聪明在2006-10-5 15:10:40的发言:
谢谢各位拉~~~
我没有注意哦```
谢谢各位拉~~~
我没有注意哦```
你也遇到这个问题。。。
外部没有定义哦~~~脑瓜不好用哦!
----------------解决方案--------------------------------------------------------
学习 中,谢谢!跟着你的问题学到了东西啊!
----------------解决方案--------------------------------------------------------