Что (% f) означает в C? - PullRequest
       22

Что (% f) означает в C?

0 голосов
/ 24 апреля 2020

Я знаю, что% f означает float, хотя и не знаю, имеют ли квадратные скобки какое-либо значение. У меня есть это:

void print_LIST(LIST L){
    CORD *c;
    while(L != NULL){
        c = L->value;
        printf("%d%d",c->col,c->lin);
        printf("(%f) ",distance(c));
        L = L->next;
    }
    printf("\n");
}

1 Ответ

1 голос
/ 24 апреля 2020

Не все в спецификаторе формата является спецификатором преобразования (имеет особое значение). Например: если i содержит значение 10, следующий оператор:

 printf ("The value of i is %d", i);

выведет The value of i is 10, поэтому остальная часть строки будет напечатана как есть. После этого в вашем случае

 printf ("(%f)", distance(c));

напечатает значение double, возвращаемое вызовом функции distance(c). Принимая значение 1,23, будет напечатано (1.23) (с круглыми скобками).

...