float * program(const int *k)
{
// declare a pointer to a float, but don't initialize it,
// so it is not actually pointing anywhere specific yet.
float *x;
// Put the value pointed at by k into the location pointed at by x
// But wait - we don't know where x is pointing, so this is BAD!
*x = *k;
return x;
}