2017-07-22 11 views
-6

私はちょうどCプログラミングを開始しており、Eclipse Mars環境とMinGWコンパイラを使用しています。 2つの整数を加算して合計を出力するプログラムを書くときに問題が発生しました。Cコンパイラの警告「警告:フォーマットの引数が多すぎます」修正方法?

私は、「警告:フォーマットのためにあまりにも多くの引数を」受信:これは間違っている理由を誰が説明していただけますとどのように私はそれを補正してもよい

printf("Sum of %d ", integer1," and %d", integer2," is: %d\n", sum); 

?次の文のためのダイアログを

(フルプログラムは以下の通りである):

#include <stdio.h> 
#include <stdlib.h> 

int main(){ 

    int integer1; 
    int integer2; 

    printf("Enter first integer \n"); 
    scanf("%d\n", &integer1); 

    printf("Enter second integer \n"); 
    scanf("%d", &integer2); 

    int sum; 
    sum = integer1 + integer2; 

    printf("Sum of %d ", integer1," and %d\a", integer2," is: %d\n", sum); 

    system("pause"); 

    return 0; 
} 

誰が間違っ文をリライトする方法を説明できますか?

+3

これはあなたがprintfを使用する方法ではありません。 – Asesh

+0

"printf("%d "の和、"%d "、%d、%2、"は%d \ n "、合計です);' 'printf' doesn 'その_variadic_ argsに書式指定子を気にしないでください。 – George

+0

複数の引数を挿入できるようにprintfを使用できますか? Javaのように、引数の間に追加記号を挿入するだけですか? –

答えて

4

printf() 書式指定子を含むことができ、文字列、その後、引数のリスト取る:機能printfはこのようにあなたが書くべき次の宣言

int printf(const char * restrict format, ...); 

を持って

printf("Sum of %d and %d\a is: %d\n", integer1, integer2, sum); 
3

printf("Sum of %d and %d\a is: %d\n", integer1, integer2, sum); 
関連する問題