Hint: $|f_n(x)g_n(x)| \leq |f_n(x)|M$. If you know that $f_n \to 0$ uniformly, then you know $|f_n(x)| < \varepsilon$ for every $x$, if $n$ is large enough. Just pick $\varepsilon' = \varepsilon/M$
Edit: The OP seems a little confused about uniform convergence itself, so I'll give a brief explanation.
I suppose you are taking a course on Real Analysis, and so you must have already met notions of function convergence such as point-wise convergence. Now, you are working with uniform convergence. When does $f_n \to f$ uniformly? Well, when, for any $\varepsilon$ (no matter how tiny), you can find a number $N$ after which all members in the sequence $f_n$ are $\varepsilon$-close to $f$ in the sense that $\forall x: |f_n(x)-f(x)| < \varepsilon$.
How does uniform convergence look like? Specially, what does it mean for $f_n \to 0$?
If $|f_n(x)-0| < \varepsilon$, then it is as if the function $f$ is entirely contained inside a "street" (or "margin", "strip", suit yourself here) of length $\varepsilon$ centered at the origin.
One example of such $f_n$ is $f_n(x) = 1/n$.
Ok, having said that, suppose now you have an additional sequence $g_n$ such that $\forall x: |g_n(x)| < M$, for some positive $M$. These $g_n$ don't need to converge in any sense. For example, picture a "street" of length $1$ and, inside it, lots of functions that just wiggle randomly without leaving the strip.
Well, these guys are still bounded, so multiplying them by $1/n$ (for example) must slowly bring the resulting sequence $f_ng_n$ to ever smaller "streets" (of length $\varepsilon$). In the limit, this process brings $f_ng_n$ to $0$.
Formally, since $f_n \to 0$, we can pick $N$ s.t., for every $n \geq N$ and every $x$, we have $|f_n(x)| < \varepsilon/M$
Thus, for every $n \geq N$ and every $x$, $|f_ng_n(x) - 0| = |f_n(x)g_n(x)| = |f_n(x)||g_n(x)| \leq |f_n(x)|M < \varepsilon$.
This proves that $f_ng_n$ converge to $0$ uniformly. The important thing to note here is that "f" as in our definition of unif. convergence here is $0$.