The Iw and Iw.m descriptors are for INTEGER output. The general form of these descriptors are as follows:
The meaning of r, w and m are:
Note that w must be positive and larger than or equal to m.
It is interesting to note that m can be zero! That is, no digits should be printed. In this case, if the number to be printed is non-zero, it will be printed as if Iw is used. However, if the number is zero, all w positions will be filled with spaces!
The edit descriptor is 3I4.2 and the format is equivalent to (I4.2,I4.2,I4.2) because the repetition indicator is 3. Therefore, each of the three INTEGER variables is printed with I4.2. Based on the discussion earlier, the result is the following:INTEGER :: a = 3, b = -5, c = 128 WRITE(*,"(3I4.2)") a, b, c