//Analisando o programa abaixo, responda as sadas do programa.

//veja os valores intermedirios das variveis

#include "stdafx.h"
#include <stdio.h>
#include <string.h>

int f(int *x, int y);

int main()
{
	int x, *y, i;
	int v[3];
	x = 2;
	y = &x;

	//		x	= 2
	//		y	= &x
	//		*y	= 2
	//		v[0]= sujeira
	//		v[1]= sujeira
	//		v[2]= sujeira

	(*y)++;
	
	//		x	= 3
	//		*y	= 3

	v[1] = 2 * *y;

	//		v[1]= 6

	y = v;

	//		y	= &v[0]

	*y = x + *(y+1);

	//leia 
	//v[0] = x + v[1];
	//logo v[0] = 9

	y++;

	//	y	= &v[1]

	*(y+1) = f(&v[0], *y);

	// leia
	//v[2] = f(&v[0], v[1]);
	// logo	v[2] = 3

	y = v+2;

	// leia
	//y = &v[0] + 2
	// logo y = &v[2]

	for (i=0; i<3; i++)
	{
		*(y-i) += i+1;

		// leia

		// 1 passagem
		// v[2] = v[2] + i + 1
		// logo v[2] = 4

		// 2 passagem
		// v[1] = v[1] + i + 1
		// logo v[1] = 8

		// 3 passagem
		// v[0] = v[0] + i + 1
		// logo v[0] = 18
	}

	printf ("X = %d\n", x);

	for (i=0; i<3; i++)
	{
		printf ("V[%d] = %d\n", i, v[i]);
	}

	return 0;
}

int f(int *x, int y)
{
	*x += y;
	
	//leia 
	// v[0] = v[0] + y;
	//logo v[0] = 15

	return *x % y;

	//leia 
	// retornar o resto da diviso do "contedo de x" por "y";

}