最近学习数组和指针,自己写了一个三个数比较大小的程序,运行时发现不能实现,求教哪出了问题???
int main(){
int num[3] ={1,2,3}; //定义并初始化数组
int *prt_num = num; //定义指针
int i,temp; //循环变量 和临时变量
printf("请输入三个数");
for(i = 0; i< 3; i++)
{
scanf("%d",(prt_num+i));
}
for(i = 0; i<3 ;i++) //打印输入的数
{
printf("%d\t",num[i]);
}
printf("\n");
if(*(prt_num) > *(prt_num+1)) //第一个数和第二个数比较交换
{
temp = *prt_num;
*prt_num = *(prt_num+1);
*(prt_num+1) = temp;
}else
if(*(prt_num) > *(prt_num+2)) //第一个和第三个比较交换
{
temp = *(prt_num);
*(prt_num) = *(prt_num+2);
*(prt_num+2) = temp;
}else
if(*(prt_num+1) > *(prt_num+2)) //第二个和第三个比较交换
{
temp = *(prt_num+1);
*(prt_num+1) = *(prt_num+2);
*(prt_num+2) = temp;
}
for(i =0; i<3 ;i++) //打印交换好的数
{
printf("%d\t",num[i]);
}
}