4.編寫下列函式:
void swap(int *p, int *q); swap(&i, &j);/* exchange values of i and j */#include
void swap(int *p, int *q);
int main(void)
void swap(int *p, int *q)
8.編寫下列函式:
int *find_largest(int a, int n);當傳入長度為n的陣列a時,函式將返回指向陣列最大元素的指標。
#includeint *find_largest(int a, int n);int main(void) y = *find_largest(a, b); //注意此處,輸出直接輸出y即可,前面不需要加*。 why?? 因為y又不是指標呀! printf("%d\n", y); return 0;}int *find_largest(int a, int n) } return &a[max];}
12.編寫下面的函式:
void find_two_largest(consta指向長度為n的陣列。函式從陣列中找出最大和第二大的元素,並把它們分別儲存到由largest和second_largest指向的變數中。要求使用指標算術運算而不是取下標來訪問陣列元素。int *a, int n, int *largest,
int *second_largest);
正確做法:
#include
#define n 10
void find_two_largest(int a, int n, int *largest, int *second_largest);
int main(void)
p = null;
q = null; // 指標一定要初始化, 要不然這兩處會出現兩個warnning;
find_two_largest(a, n, p, q);
return 0;
}void find_two_largest(int a, int n, int *largest, int *second_largest)
}largest = &a[mark1];
for(i = 0; i < mark1; i++)
}for(i = mark1 + 1; i < n; i++)
}second_largest = &a[mark2];
printf("%d %d\n", *largest, *second_largest);
}錯誤做法!!!!!!!
#include
void find_two_largest(int a, int n, int *largest, int *second_largst);
int main(void)
p = &a[0];
q = &a[0];
find_two_largest(a, n, p, q);
return 0;
}void find_two_largest(int a, int n, int *largest, int *second_largest)
}for(i = 0; i < m; i++)
}for(i = m + 1; i < n; i++)
}printf("%d %d\n", *largest, *second_largest);
}
《c語言程式設計 現代方法》
我最開始接觸的c語言書籍是,譚浩強的c語言教材。在 資料結構 中,學會了使用指標。後來,單獨花時間克服了字元的處理。工欲善其事,必先利其器。我在本科暫時的三個目標是 c c 作業系統,網路。暑假看了 作業系統 真象還原 作業系統的知識,暫時夠我使用了。歡迎在這個倉庫上,建立分支,留下本書好的 c語言...
《C語言程式設計 現代方法》摘要
不應該以聰明才智和邏輯分析能力來評判程式設計師,而要看其分析問題的全面性。上面是原文的一句話,我非常喜歡。工程師的職責是把自己或者別人腦子裡想像的東西動手做出來。能把大問題拆解成小問題,然後把乙個個小問題逐一擊破,這是工程師的基本能力。我們當前大部分企業遇到的絕大部分問題都是有現成的解決方案的,工程...
C語言程式設計練習
1 給你任意三個整形資料,找出其中最大乙個整形數。include main int findmax int x,int y,int z else if z max return max 使用函式 三目運算子 include int main int findmax int x,int y 2 求1 ...