Salve a tutti avrei un problemino avrei bisogno di queste 4 soluzioni qualcuno mi potrebbe dare una mano grazie!!

1) #include<stdio.h>
int G(int* x)
{
*x = *x + 1;
return *x + 1;
}


int F(int x)
{
x = x + 1;
return x;
}

int main()
{
int a, b;
a = 1;
b = (G(&a) + 1) + F(a);
printf("%d", a + b);
return 0;
}


Cosa viene stampato?
--------------------------------------…


#include<stdio.h>

int F(int *b)
{
int a;
a = *b * 5;
*b = *b + a;
return *b;
}

int main()
{
int a, b;
for (a = 1; a < 5; ++a)
b = F(&a);
printf(“%d”, a+b);
return 0;
}


Cosa viene stampato?

--------------------------------------…

Stabilire una dichiarazione di variabili in C che rende possibile il seguente assegnamento.
Se non č possibile motivare la risposta.

x[a] = y.a[x[3]];

--------------------------------------…

Definire un tipo di dato K, struct con un campo di nome A di tipo vettore di 100 int.
Definire un tipo di dato H, struct con un campo B di tipo K.
Scrivere una funzione con un parametro x di tipo H. La funzione deve restituire 1 se nel vettore
contenuto nel parametro x c'é un numero pari; la funzione deve restituire 0 altrimenti.

------------------------

grazie per le risposte!!!