指针是否用错了
小弟是初学C的,经常遇到问题
各位帮忙指点下
我这两个程序能通过编译,但得不到正确答案,是怎么回事啊?
/*依次将10个数输入,要求将其中最大的数打印出来*/
main()
{int max();
int c,i,a[10];
for(i=0;i<10;i++)
{scanf("%d",a[i]);
}
c=max(a);
printf("The largest number is:%d",c);
getch();
}
max(int *p)
{int i,z;
z=*(p+0);
for(i=0;i<10;i++)
{if(*(p+i)>z)
z=*(p+i);
}
return (z);
}
/*有3个数a,b,c要求按顺序大小把他们打印出来.*/
main()
{int z,a[3],i;
int *p,*d;
for(i=0;i<3;i++)
{scanf("%d",a[i]);
}
p=a;
d=a+1;
for(i=0;i<3;i++)
{if(i==2)i=i-2;
if(*(p+i)<*(p+i+1))
{z=*p;
*p=*d;
*d=z;
}
}
for(i=0;i<3;i++)
{printf(" %d",a[i]);}
getch();
}
万分感激!