注册 登录
编程论坛 C语言论坛

指针什么时候要加*啊 我晕了

komorebi0110 发布于 2019-12-17 22:59, 1738 次点击
打印出最高分及其学号  
void  FindMax(float score[ ], long num[ ], int n,
float *pMaxScore/*out*/, long *pMaxNum/*out*/)
{
    int    i;
    *pMaxScore = score[0];            
    *pMaxNum = num[0];               
    for (i=1; i<n; i++)
{   if (score[i] > *pMaxScore){  
    *pMaxScore = score[i];   
    *pMaxNum = num[i];        }
}
}
2 回复
#2
komorebi01102019-12-17 23:00
/* qsort: 按递增顺序对v[left]...v[right] 进行排序*/
void  qsort(char * v[ ], int left, int right)
{
int  i, last;
void  swap(char *v[ ], int i, int j);
if (left >= right )      /* 如果数组元素个数小于2,则返回*/
return;
swap(v, left, (left + right) / 2);
last = left;
for (i = left + 1; i <= right; i++)
if (strcmp(v[i], v[left] < 0)
swap(v, ++last, i);
swap(v, left, last);
qsort(v, left, last - 1);
qsort(v, last + 1, right);
}
同样,s w a p函数也只需做些很小的改动: /* swap: 交换v[i] 和v[j] */
void  swap(char *v[ ], int i, int j)
{
char  *temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
#3
komorebi01102019-12-17 23:05
第一个好像明白了 但是第二个swap函数是二维数组吗? 为什么要char *temp呢 直接char temper不行吗 这里的v[i]是元素还是地址啊      
#4
自由而无用2021-08-11 15:05
typedef char* string;

string v[ ];
string temp;
1