# PRINT deferred variable in FUNCTION

**URL:** <https://fortran-lang.discourse.group/t/print-deferred-variable-in-function/8747>\
**Category:** GNU\
**Created:** [October 23, 2024, 8:49pm UTC](https://fortran-lang.discourse.group/t/print-deferred-variable-in-function/8747 "2024-10-23T20:49:34Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Beliavsky](https://avatars.discourse-cdn.com/v4/letter/b/ba8739/32.png) [@Beliavsky](https://fortran-lang.discourse.group/u/Beliavsky)\
**Post date:** [October 23, 2024, 8:53pm UTC](https://fortran-lang.discourse.group/t/print-deferred-variable-in-function/8747/2 "2024-10-23T20:53:14Z")

</div>

If printing occurs within function `f`, the behavior of `print*,f()` is undefined, since recursive I/O is not allowed in Fortran, and instead you should write

```auto
y = f()
print*,y

```

See the previous thread [https://fortran-lang.discourse.group/t/gfortran-bug-on-a-simple-program](https://fortran-lang.discourse.group/t/gfortran-bug-on-a-simple-program).

---

_[View the full topic](https://fortran-lang.discourse.group/t/print-deferred-variable-in-function/8747)._
