2017-11-25 142 views
-3

編寫一個程序,它使用兩個指針變量來讀取兩個雙數並顯示它們的和的絕對值?C語言指針

這是我的代碼,我唐不知道它會錯:

int main(void) 
{ 
    double *p1,*p2, val1,val2; 
    p1 = &val1; 
    p2 = &val2, 
    printf("Enter two number: "); 
    scanf("%f %f", p1,p2); 
    if(*p1+*p2 >= 0) 
    printf("%f\n", *p1+*p2); 
    else 
    printf("%f\n", -(*p1+*p2)); 
    return 0; 
} 
+2

'scanf(「%lf」,p1)'並使用'fabs' – coderredoc

+0

「出錯」是什麼意思?請提供[mcve]。 –

回答

0

,如果你要掃描你用「LF」雙打和打印他們。這是你唯一的錯誤。 「f」只適用於花車。

int main(void) 
{ 
    double *p1,*p2, val1,val2; 
    p1 = &val1; 
    p2 = &val2, 
    printf("Enter two number: "); 
    scanf("%lf %lf", p1,p2); 
    if(*p1+*p2 >= 0) 
     printf("%lf\n", *p1+*p2); 
    else 
     printf("%lf\n", -(*p1+*p2)); 
    return 0; 
} 
0

http://www.cplusplus.com/reference/cstdio/scanf/

請諮詢本網站或者類似的一個錯誤或警告。

%f用於浮點值,並且c編譯器通常在發生類型轉換而不指定它們時發出警告或停止編譯。

%lf用於雙打。