...
This noncompliant code example conforms with the C11 standard; however, it fails to conform with C99. If compiled with a C99-conforming implementation, this code demonstrates undefined behavior because the sequence point preceding the call to printf() comes between the call and the access by printf() of the string in the returned object:
...
Noncompliant Code Example
The following This noncompliant code example attempts to retrieve an array and increment the array's first value. The array is part of a struct that is returned by a function call. Consequently, the array has temporary lifetime, and modifying the array results in undefined behavior.
...
This compliant solution stores the structure returned by the call to addressee() as my_x before calling the printf() function. When the array is modified, its lifetime is no longer temporary , but matches the lifetime of the block in main().
...