Avatar billede siul Nybegynder
26. marts 2002 - 01:13 Der er 2 kommentarer og
2 løsninger

Execution

Hej allesammen,

Jeg skal spore executionen af nedenstaaende code og skrive ned alle variablernes i memory markeret ved //X og //y. Det skal skrives ned saaledes:
navn,  adresse, scope, datatype, variablernes vaerdi i memory

void main ()
{
    int a[2], b, c;
    int temp;

    a[0] =10;
    b=20;
    c=15;

    exchange (a[1], a, b);
    //y
}

void exchange (int &c, int b[], int& a)
{
    int temp;
    temp=a;
    a= b[0];
    c= temp;
    //X
}

Habber der er en der kan hjaelpe. Paa forhaand tak!
Avatar billede krukken Juniormester
26. marts 2002 - 01:20 #1
Hvad mener du?! Prøv lige at forklare hvad opgaver går ud på lidt nærmere!
Avatar billede jpk Nybegynder
26. marts 2002 - 08:58 #2
Du kan bare køre en debug session og se værdierne...
Avatar billede chries Nybegynder
26. marts 2002 - 09:43 #3
sådan ? :
#include "stdafx.h"
#include "iostream.h"

void exchange (int &c, int b[], int& a)
{
    int temp;
    temp=a;
    a= b[0];
    c= temp;

    cout << endl << "X:" << endl;
    cout << "a: mem location = " << &a << ", scope = exc., dtype = &int, val = " << a << endl;
    cout << "b: mem location = " << b << ", scope = exc., dtype = int[], val [0]/[1]/[2] = " << b[0] << "/" << b[1] << "/" << b[2] << endl;
    cout << "c: mem location = " << &c << ", scope = exc., dtype = &int, val = " << c << endl;
    cout << "temp: mem location = " << &temp << ", scope = exc., dtype = int, val = " << temp << endl;
}

void main ()
{
    int a[2], b, c;
    int temp;

    a[0] =10;
    b=20;
    c=15;

    exchange (a[1], a, b);
   
    cout << endl << "Y:" << endl;
    cout << "a: mem location = " << a << ", scope = main, dtype = int[], val [0]/[1]/[2] = " << a[0] << "/" << a[1] << "/" << a[2] << endl;
    cout << "b: mem location = " << &b << ", scope = main, dtype = int, val = " << b << endl;
    cout << "c: mem location = " << &c << ", scope = main, dtype = int, val = " << c << endl;
    cout << "temp: mem location = " << &temp << ", scope = main, dtype = int, val = " << temp << endl;
}
Avatar billede siul Nybegynder
26. marts 2002 - 10:25 #4
Hej,
Jeg ved godt at jeg kan debugge men det hjaelper mig ikke til at forstaa vaerdierne og det er det der er pointen med dette og det skal laves uden at debugge.
F.eks er a saaledes:
navn: a, adresse -858948400, scope: main, data type: int[], vaerdi: 10
Men hvordan vaerdierne aendrer sig i funktionen exchange er jeg ikke helt med paa.
Haaber det er forklaret lidt bedre.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester