Как я могу уменьшить количество аргументов с помощью этой функции "printf"? Должен ли я использовать что-то кроме «printf»? - PullRequest
0 голосов
/ 19 марта 2019

У меня проблема, которую я пытался решить.Я понимаю разницу между printf и put, поэтому я решил, что printf был верным путем.

Однако я получаю сообщение об ошибке:

"предупреждение: слишком много аргументов дляformat [-Wformat-extra-args]

printf("%s", "The sum of %d", first , " and %d", second, " is %d", first + second);
^"

Есть ли лучшая функция для печати нужного мне результата или, возможно, другой способ форматирования этого?

#include <stdio.h>

void main()
{
    int first, second;
    int answer = 1;

    while (answer == 1)
    {
        puts("Please enter the first integer ==> ");
        scanf("%d", &first);

        puts("Please enter the second integer ==> ");
        scanf("%d", &second);

        printf("%s", "The sum of %d", first , " and %d", second, " is %d", first + second);

        puts("Would you like to add two more integers?\n"
              "(1 for yes) ==> ");
              scanf("%d", &answer);

    }
}

1 Ответ

3 голосов
/ 19 марта 2019

Ваша строка формата должна быть первым аргументом printf, а ваши входные данные должны быть следующими. Например:

printf("The sum of %d and %d is %d", first, second, first + second);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...