#include
#define NUM 5
struct MyRecord{
int val;
bool flag;
};
void main(void)
{
MyRecord rec[NUM];
MyRecord *ptr[NUM];
int i,j,k;
for(i=0;i
scanf("%d",&rec[i].val);
rec[i].flag=false;
}
for(i=0;i
for(j=0;j
if(rec[j].flag)
continue;
ptr[i]=&rec[j];
break;
}
for(k=0;k
if(rec[k].flag)continue;
if((*ptr[i]).val>rec[k].val)
ptr[i]=&rec[k];
}
(*ptr[i]).flag=true;?
//rec[i].flag=true;?
}
for(i=0;i
printf("%d",(*ptr[i]).val);
}
printf("\n");
}
其实就是rec[k]和rec[i]的区别
ptr[i]=&rec[k];这不是把ptr[i]指向了rec[k]吗
那你前面判断的是rec[k],你去改rec[i]不改乱套了