nu har jeg så prøvet mig lidt frem og kommet til følgende..
det giver ingen fejl når jeg compiler, men når jeg kører det, giver det en Bus Error..
#include <stdio.h>
char *str_uptime(int a) { char *output; int tid = a/1000; int dage = tid/(24*60*60); int timer = (tid%(40*60*60))/(60*60); int minutter = (tid%(60*60))/60; int sekunder = tid%60; sprintf(output, "%d dage, %d timer, %d minutter og %d sekunder\n",dage, timer, minutter, sekunder);
int tid = a/1000; int dage = tid/(24*60*60); int timer = (tid%(40*60*60))/(60*60); int minutter = (tid%(60*60))/60; int sekunder = tid%60; sprintf(output, "%d dage, %d timer, %d minutter og %d sekunder\n",dage, timer, minutter, sekunder); return output; }
Arne må jeg spørge dig om dit design choise her? hvorfor er str_uptime lavet non reentrant? (bruger global) hvorfor har du valg at lave den ekstra copy i main istedet for at overføre en pointer til target? (str_uptime(int uptime, char *dest))
char *str_uptime(int a, char *output) { int tid = a/1000; int dage = tid/(24*60*60); int timer = (tid%(24*60*60))/(60*60); // 40 her skulle vist være 24 int minutter = (tid%(60*60))/60; int sekunder = tid%60; sprintf(output, "%d dage, %d timer, %d minutter og %d sekunder\n",dage, timer, minutter, sekunder); return output; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.