Вы находитесь на странице: 1из 10

Trazado

Intercambio sin error


#include <stdio.h>
void intercambio(int *, int *); /* prototipo */
main(){
int a=1,b=2;
printf("a=%d b=%d\n",a,b);
intercambio(&a,&b); /* llamada */
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){ /* declaración formal */
int temp;
temp=*x; // *x, *y son nombres alternativos de a y b
*x=*y;
*y=temp;
}

1
Trazado (1)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2
intercambio(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
}
Trazado (2)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
}
Trazado (3)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
*x *y
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
Variables locales de intercambio
int temp;
temp=*x;
*x=*y; x y temp
*y=temp;
}
&a &b
Trazado (4)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
*x *y
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
Variables locales de intercambio
int temp;
temp=*x;
*x=*y; x y temp
*y=temp;
}
&a &b
Trazado (5)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
*x *y
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b);
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
Variables locales de intercambio
int temp;
temp=*x;
*x=*y; x y temp
*y=temp;
}
&a &b 1
Trazado (6)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
*x *y
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b); 2
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
Variables locales de intercambio
int temp;
temp=*x;
*x=*y; x y temp
*y=temp;
}
&a &b 1
Trazado (7)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b); 2 1
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
Variables locales de intercambio
int temp;
temp=*x;
*x=*y; Desaparecen al terminar la función!!
*y=temp;
}
Trazado (8)
#include <stdio.h>
Variables locales de main
void intercambio(int *, int *);
main(){
a b pantalla
int a=1,b=2;
printf("a=%d b=%d\n",a,b); 1 2 a=1 b=2
intercambio(&a,&b); 2 1 a=2 b=1
printf("a=%d b=%d\n",a,b);
return 0;
}
void intercambio(int *x, int *y){
int temp;
temp=*x;
*x=*y;
*y=temp;
}

Вам также может понравиться