C/Visual C - que imprime el codigo

   
Vista:

que imprime el codigo

Publicado por David Lara (6 intervenciones) el 03/06/2017 00:20:31
en el siguiente código, que es lo que imprime

1
2
3
4
5
#define a (x+1)
int x=2;
void b(){int x=1; printf("%d\n",a); }
void c(){printf(a); }
void main (){ b(); c(); }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

que imprime el codigo

Publicado por David (6 intervenciones) el 03/06/2017 01:02:34
intente con este codigo pero me da error en tiempo de ejcucion, lo compile en la pagina ideone.com
1
2
3
4
5
6
7
#include <stdio.h>
#include <stdlib.h>
#define a (x+1)
int x=2;
void b(){int x=1; printf("%d\n",a); }
void c(){printf(a); }
int main(void){ b(); c(); }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por David (6 intervenciones) el 03/06/2017 04:27:49
Captura23
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por David (6 intervenciones) el 03/06/2017 04:22:27
Captura231
aquí dice que imprime 1 y 2 pero para mi imprime 2 y 3, por lo cual tengo que llevar pruebas que estoy en lo correcto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por Diego (150 intervenciones) el 03/06/2017 04:30:32
Recuenden que una funcion no VOID siempre retorna un valor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por David (6 intervenciones) el 03/06/2017 04:38:05
podrías instruirme en el main en C, soy nuevo en esto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por David (6 intervenciones) el 03/06/2017 05:11:05
ya lo resolví, si imprime 2 y 3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#define a (x+1)
int x=2;
 
void funcion3()
{
	printf("Funcion3, x=%d, a=%d", x, a);
 
	return;
}
 
void funcion4()
{
	int x=1;
	printf("Funcion4, x=%d, a=%d", x, a);
 
	return;
}
 
int main(void)
{
	funcion4();
	funcion3();
	return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por agustin (266 intervenciones) el 03/06/2017 08:37:05
El fallo estaba en la función c la cual intenta usar printf sin indicar el formato. Así funciona:
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <stdlib.h>
#define a (x+1)
int x;
void b(){x=2;printf("%d\n",a); }
void c(){x=1;printf("%d\n",a); }
int main(void){ b(); c();
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

que imprime el codigo

Publicado por Chema (234 intervenciones) el 03/06/2017 14:57:25
¿Calcular el alcance de sus nombre?

¿Regla de alcance dinamico ordinario?

El tipo que a escrito esos ejemplos no tiene ni idea de lo que habla.

C es muy sencillo,siempre sale un tonto que se cree profesor liando la gente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar