本人已完全无力了
请看以下两个程序(事先声明,这两个程序在我看来是一摸一样的,代码完全相同,但得出的结果不同,为什么!?)请按顺序输入1-10试一下.one
#include<stdio.h>
void main()
{
int a[10];
void input(int *);
void chuli(int *);
void shuchu(int *);
input(a);
chuli(a);
shuchu(a);
}
void input(int x[])
{
int i;
for(i=0;i<10;i++)
scanf("%d",&x[i]);
}
void chuli(int x[])
{
int *max,*min,temp,i;
min=x;
for(i=1;i<10;i++)
{
if(*min>x[i]);
{ temp=*min;*min=x[i];x[i]=temp;}
}
max=&x[9];
for(i=1;i<10;i++)
{
if(*max<x[i])
{temp=*max;*max=x[i];x[i]=temp;}
}
}
void shuchu(int x[])
{ int i;
for(i=0;i<10;i++)
printf("%d",x[i]);
}
two
#include<stdio.h>
void main()
{
int a[10];
void input(int *);
void chuli(int *);
void shuchu(int *);
input(a);
chuli(a);
shuchu(a);
}
void input(int x[])
{
int i;
for(i=0;i<10;i++)
scanf("%d",&x[i]);
}
void chuli(int x[])
{
int *max,*min,temp,i;
min=x;
for(i=1;i<10;i++)
{
if(*min>x[i])
{temp=*min;*min=x[i];x[i]=temp;}
}
max=&x[9];
for(i=1;i<10;i++)
{
if(*max<x[i])
{temp=*max;*max=x[i];x[i]=temp;}
}
}
void shuchu(int x[])
{ int i;
for(i=0;i<10;i++)
printf("%d",x[i]);
}