初學者實在不太明白指標陣列怎么用 請大家幫幫忙
最好能在代碼里給一些注釋 謝謝!
uj5u.com熱心網友回復:
僅供參考:#include <stdio.h>
#include <stdlib.h>
int my_cmp(const void *a, const void *b)
{
int *p = *(int **)a;
int *q = *(int **)b;
return *p - *q;
}
int main(void)
{
int *pa[10], i;
// 陣列初始化
for(i=0; i<10; i++)
{
pa[i] = (int *)malloc(sizeof(int));
scanf("%d", pa[i]);
}
// 快速排序
qsort(pa, 10, sizeof(int *), my_cmp);
// 輸出排序結果
for(i=0; i<10; i++)
{
printf("%d%c", *pa[i], i!=9 ? '\t' : '\n');
}
// 善后處理,銷毀
for(i=0; i<10; i++)
{
free(pa[i]);
}
return 0;
}
uj5u.com熱心網友回復:
供參考:#include <stdio.h>
int main(int argc, char* argv[])
{
int a[10],*pa[10];
int *temp;
printf("Input tan number:");
for(int i=0;i<10;i++){
scanf("%d",&a[i]);
pa[i] = &a[i];
}
for(int i=0;i<10;i++){
for(int j=0;j<10-1;j++){
if(*pa[j]>*pa[j+1]){
temp = pa[j];
pa[j] = pa[j+1];
pa[j+1] = temp;
}
}
}
for(int i=0;i<10;i++){
printf("%4d",*pa[i]);
}
printf("\n");
for(int i=0;i<10;i++){
printf("%4d",pa[i]-a);
}
printf("\n");
system("pause");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/233278.html
標籤:C語言
上一篇:請問這題怎么寫
