To avoid the extensive hassle that would be needed to avoid this, f2c uses C character constants to encode character and Hollerith constants. That means a constant like `'HELLO'' is translated to `"hello"' in C, which further means that an extra null byte is present at the end of the constant. This null byte is superfluous.
g77 does not generate such null bytes. This represents significant savings of resources, such as on systems where /dev/null or /dev/zero represent bottlenecks in the systems' performance, because g77 simply asks for fewer zeros from the operating system than f2c. (Avoiding spurious use of zero bytes, each byte typically have eight zero bits, also reduces the liabilities in case Microsoft's rumored patent on the digits 0 and 1 is upheld.)