Find all polynomials $p$ with real coefficients that if for a real $a$,$p(a)$ is integer then $a$ is integer.
1. **Consider the constant polynomial case:**
   - If \( P(x) = c \) where \( c \) is a constant, then \( P(a) = c \) is an integer for any real \( a \). This does not satisfy the condition that \( a \) must be an integer if \( P(a) \) is an integer. Therefore, constant polynomials are not solutions.

2. **Assume \( P(x) \) is a non-constant polynomial:**
   - Without loss of generality, assume the leading coefficient of \( P(x) \) is positive. This ensures that \( P(x) \) is eventually strictly increasing.

3. **Consider the behavior of \( P(x) \) for large \( x \):**
   - Since \( P(x) \) is eventually strictly increasing, there exists an interval \( (N, \infty) \) where \( P(x) \) is strictly increasing.

4. **Find integer values in the interval \( (N, \infty) \):**
   - Let \( n \) be an integer in \( (N, \infty) \). There exists a real number \( x_n \) such that \( P(x_n) = n \). Given the problem's condition, \( x_n \) must be an integer.

5. **Consider the next integer \( n+1 \):**
   - There exists an integer \( x_{n+1} \) such that \( P(x_{n+1}) = n+1 \). Since \( P \) is strictly increasing, \( x_{n+1} > x_n \).

6. **Determine the difference between consecutive \( x \) values:**
   - The difference \( x_{n+1} - x_n \) must divide \( P(x_{n+1}) - P(x_n) = 1 \). Since \( x_{n+1} > x_n \) and the difference is an integer, it follows that \( x_{n+1} = x_n + 1 \).

7. **Generalize for any integer \( n \):**
   - Similarly, for any integer \( n \) in \( (N, \infty) \), there exists an integer \( x_{n+k} \) such that \( P(x_{n+k}) = n+k \) and \( x_{n+k} = x_n + k \).

8. **Formulate the polynomial:**
   - This implies \( P(x_n + k) = n + k \) for all non-negative integers \( k \). Therefore, \( P(x) = x + C \) for some constant \( C \).

9. **Verify the polynomial:**
   - Since \( P(x) = x + C \) satisfies the condition that if \( P(a) \) is an integer, then \( a \) must be an integer, it is a valid solution.

10. **Conclusion:**
    - The only polynomials \( P(x) \) with real coefficients that satisfy the given condition are of the form \( P(x) = x + C \) where \( C \) is an integer.

The final answer is \( \boxed{ P(x) = x + C } \) where \( C \in \mathbb{Z} \).