Vraag & Antwoord

Programmeren

Code probleempje ?

3 antwoorden
  • 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
  • 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.
  • Tja Pascal, da's nu associativiteit ;) Heb je met functionele progtalen niet! Toch maar LISP leren? :lol:

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.