Mit problem er at output bliver: [code] 1: 2: BMW 3: Ferrari 4: Jaguar 5: Lexus 6: Mercedes 7: Opel[/code] i stedet for "Audi" er der blot tomt... Det må vel være pointeren der er i skoven, men hvorfor? Det går kun galt i den første...
char *getBrand(int type) { // alloker 7*9 bytes paa stakken char biler[7][9] = {"Audi","BMW","Ferrari","Jaguar","Lexus","Mercedes","Opel"}; // saet bil til at pege et sted i de 7*9 bytes char *bil = biler[type]; // returner en kopi af den pointer ***OG*** frigiv de 7*9 bytes return bil; }
du staar med en pointer som peger paa noget memeory der genbruges til andre formaal.
void showBrands(void) { char* brand = getBrand(2); /* 2 er index for Lloyd */ puts(brand); /* Lloyd */ }
...jeg er blevet lidt rusten i min c-muskel ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.