2014-12-06 173 views
0

我有一個問題的困難在它要求比較兩個整數並返回一個指向最小的一個。這應該很容易,但我認爲我的誤解是指針地址和內容的混淆。現在的問題是如下: (考慮與該原型的函數): INT *較小(INT * PTR升,INT * PTR2); (2分)指針作爲函數參數實例

(其中「小」函數比較兩個整數和指針返回到最小的一個 填空完成以下程序。): 的#include INT *較小(INT * ptrl ,int * ptr2); INT主() {的INT A; int b; int * p; 的scanf( 「%d%d」,&一個,& B); -------- - 小(------ ------); return O; (-------) } if(-------)return ------; 否則返回-------; }

下面是代碼我已經想出:

包括
int *smaller(int *ptr1, int *ptr2); 
int main() 
{ 
    int a; int b; int * p; 
    printf("Enter the first digit:"); 
    scanf("%d", &a); 
    printf("Enter the seconddigit:"); 
    scanf("%d", &b); 
    p = smaller(&a,&b); 
    printf("The smaller digit is %d\n\n", *p); 
    return 0; 
} 
int *smaller(int *ptr1, int *ptr2) 
{ 
    if (ptr1 < ptr2) 
    { 
     return ptr1; 
    } 
    else 
    { 
     return ptr2; 
    } 

} 

其輸出的最小整數是被輸入的第二數量,而不管尺寸。

回答

0

我發佈後立即想到了問題,我不得不把*(內容)標誌放在if和else語句中。