Спецификатор индекса аргумента не работает на MinGW gcc - PullRequest
0 голосов
/ 11 мая 2018

Не удается заставить спецификатор формата индекса аргумента на fprintf() работать при компиляции кода C в Windows с gcc-7.2.0-mingw .


Взять в качестве примера следующую программу:

#include <stdio.h>

int main(void) {
    int x;

    x = 10;
    fprintf(stdout, "%1$d == %1$d\n", x);

    return 0;
}

Давайте скомпилируем и запустим его:

C:\path\to\dir>gcc -Wall -std=c89 -o main.exe main.c

C:\path\to\dir>main.exe
$d == $d

C:\path\to\dir>

Хотя я ожидал, что результат будет 10 == 10 ( Попробуйте онлайн! ) .

Что происходит и как я могу правильно настроить спецификатор индекса аргумента?


Примечание: то же самое происходит, если я пытаюсь напечатать строки, числа с плавающей запятой или что-то еще.

...