C語言指針參數的引用,文中要注意加注釋的地方,也是容易出錯的地方!
- #include <stdio.h>
-
- void change(int *p1, int *p2);
- void order(int *p1, int *p2,int *p3);
-
- int main()
- {
- int a, b,c;
- printf("Input number 1:\n");
- scanf("%d",&a);
- printf("Input number 2:\n");
- scanf("%d",&b);
- printf("Input number 3:\n");
- scanf("%d",&c);
-
- printf("a=%d, b=%d, c=%d\n",a,b,c);
-
- order(&a,&b,&c);
-
- printf("a=%d, b=%d, c=%d\n",a,b,c);
-
- }
-
- void change(int *p1, int *p2)
- {
- int temp;
- if(*p1>*p2)
- {
- temp = *p1;
- *p1 = *p2;
- *p2 = temp;
- }
- }
-
- void order(int *p1, int *p2, int *p3)
- {
- int temp;
- if(*p1>*p2)
- {
- change(p1,p2); //直接p1,p2,不要帶星號,p1,p2現在已經是指針變量了,此處易出錯
- }
- if(*p1>*p3)
- {
- change(p1,p3); //直接p1,p3,不要帶星號,p1,p2現在已經是指針變量了,此處易出錯
- }
- if(*p2>*p3)
- {
- change(p2,p3); //直接p2,p3,不要帶星號,p1,p2現在已經是指針變量了,此處易出錯
- }
- }