c语言编程题,不知道错在哪,请高人指点

#include<stdio.h>voidmax_min_value(int*t)//交换函数{int*max,*min,*p,temp;max=min=t;for(p=... #include<stdio.h>
void max_min_value(int *t) // 交换函数
{ int *max,*min,*p,temp;
max=min=t;
for (p=t+1;p<t+10;p++)
if (*p>*max) max=p; // 将大数地址赋给 max
else if (*p<*min) min=p; // 将小数地址赋给 min
temp=t[0];t[0]=*min;*min=temp; // 将最小数与第一数交换
temp=t[9];t[9]=*max;*max=temp; // 将最小数与第一数交换
}
int main()
{

int a[10],*p=a;
for(p=a,p<a+10,p++)
scanf("%d",p);
p=a;
void max_min_value(int *p);
p=a;
for(p=a,p<a+10,p++)
printf("%d",*p);
return 0;
}
展开
 我来答
binbin6318
2011-05-31 · 超过21用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:37万
展开全部
这程序我把所有的语法错误都改了 但是运行出来结果是不对的,算法有问题

void max_min_value(int *t) // 交换函数
{
int *max, *min, *p, temp;
max = min = t;

for (p=t+1;p<t+10;p++){

if (*p>*max)
max=p; // 将大数地址赋给 max
else if (*p<*min)
min=p; // 将小数地址赋给 min
}

temp=t[0];
t[0]=*min;
*min=temp; // 将最小数与第一数交换
temp=t[9];
t[9]=*max;
*max=temp; // 将最小数与第一数交换
}

int main(int argc, char* argv[])
{
int a[10];
int *p = a;
for (p = a; p < a + 10; p++)
scanf("%d\n", p);
p = a;
max_min_value(p);
p = a;
for (p = a; p < a + 10; p++)
printf("%d\n", *p);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lufenggui
2011-05-31 · 超过15用户采纳过TA的回答
知道答主
回答量:28
采纳率:100%
帮助的人:43.5万
展开全部
两个错误
一、 for循环里面以分号;作为分隔符
for(p=a; p<a+10; p++)
二、函数调用跟声明有区别
这个void max_min_value(int *p);是声明,调用应写成这样:
max_min_value(p);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
82985076
2011-05-31 · 超过13用户采纳过TA的回答
知道答主
回答量:104
采纳率:0%
帮助的人:38.3万
展开全部
把for循环中的,改为;
;和,很容易看错
追问
程序说我第十八行出错,掉了分号,怎么回事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式