2017-11-25 27 views
-3

2つのポインタ変数を使用して2つのダブル数値を読み取り、それらの合計の絶対値を表示するプログラムを作成しますか?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はfloat値に使用され、cコンパイラはタイプ変換が指定されていない場合に警告を出したり、コンパイルを中止することがよくあります。

%lfが2倍に使用されます。