Не все в спецификаторе формата является спецификатором преобразования (имеет особое значение). Например: если 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)
(с круглыми скобками).