struct data dp[5];
void sort() {
int len = (sizeof(data)/sizeof(*data))-1;
for (int f = 0; f <= len; f++) {
for(int i=f;i<len;i++)
if (strcmp((data + i)->name, (data + i + 1)->name) ==1) {
struct data p = data[i];
data[i] = data[i + 1];
data[i + 1] = p;
}
}
}
键盘输入5个用户的数据,包括:姓名和电话号码。要求按姓名排序后输出全部数据。这里加粗的部分是不是有问题,但是运行结果是对的。
1)你用更多的数据测试一下,初始数据从大到小排列的, 从小到大排列的。
2)你在内循环打印 dp[] 所有元素的值, 这样你可以看出每一步的数组情况。