anoniem Geplaatst: 7 juli 2004 Delen Geplaatst: 7 juli 2004 Ik doe ongeveer het volgende [code:1:70e41847b5] void bladiblah(int *blkcnt) { printf("%i\n",blkcnt); *blkcnt++; printf("%i\n",blkcnt); } void main() { int tellertje=25; blahdiblah(&tellertje); } [/code:1:70e41847b5] Gaat me dat hele ding over de zeik ! Pas ik de functie als volgt aan, [code:1:70e41847b5] void bladiblah(int *blkcnt) { int getal; printf("%i\n",blkcnt); getal=*blkcnt; getal++; *blkcn=getal printf("%i\n",blkcnt); } [/code:1:70e41847b5] Dat werkt het hele spul prima. Ben ik nouw gek ? Ohh ja, gebruikte compiler is gcc 2.95.3 Quote Link naar reactie
anoniem Geplaatst: 7 juli 2004 Auteur Delen Geplaatst: 7 juli 2004 Ik heb het even uitgetest en als ik je functie zo aanpas: [code:1:8ccd277c79]void blahdiblah(int *blkcnt) { printf("%i\n",*blkcnt); (*blkcnt)++; printf("%i\n",*blkcnt); }[/code:1:8ccd277c79] Dus met haakjes rond (*blkcnt) dan werkt hij goed. Blijkbaar heeft ++ een hogere prioriteit dan *, zodat eerst de pointer-waarde met een wordt verhoogd voordat de variabele op die geheugenlocatie wordt genomen. Quote Link naar reactie
anoniem Geplaatst: 8 juli 2004 Auteur Delen Geplaatst: 8 juli 2004 Tja Pascal, da's nu associativiteit ;) Heb je met functionele progtalen niet! Toch maar LISP leren? :lol: Quote Link naar reactie
anoniem Geplaatst: 8 juli 2004 Auteur Delen Geplaatst: 8 juli 2004 Grrrrr NOPE, heb al zoveel talen gedaan. enne... ik ben al associaal genoeg ;) TNX jongens, ga het gelijk proberen. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen