Opgaver i denne lektion   Gå til annoteret slide, hvor denne opgave er tilknyttet -- Tastaturgenvej: 'u'   Alfabetisk indeks   Kursets hjemmeside   

Opgaveløsning:
Celcius til fahrenheit med output parameter


Her er min version af det omskrevne program:

#include <stdio.h>

double fahrenheit_temperature(double celcius_temp, double *fahrenheit_temp){
  *fahrenheit_temp = (9.0 / 5.0) * celcius_temp + 32.0;
}

int main(void){

  double result;

  fahrenheit_temperature(0.0, &result);
  printf("Freezing point: %6.2lf F.\n", result);

  fahrenheit_temperature(100.0, &result);
  printf("Boiling point: %6.2lf F.\n", result);
  
  return 0;
}

Jeg foretrækker den oprindelige udgave, hvor fahrenheit temperaturen formidles som returværdi fra funktionen, fordi kaldet af funktion kan angives direkte som en parameter i printf. I ovenstående version skal der først ændres i variablen result, som så anvendes som parameter i printf. Dette er i sandhed i rigtig imperativ løsning på problemet.