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!
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;
}
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.