Printing plural forms.
Stan Brown
browns at iccgcc.decnet.ab.com
Tue Feb 26 04:40:10 AEST 1991
> In article <1991Feb19.104810.549 at ZYX.SE>, arndt at zyx.ZYX.SE (Arndt Jonasson) writes:
>> We all have seen and, in various degrees, been irritated by texts such
>> as:
>> 1 files were copied
>> when it should have been:
>> 1 file was copied
>>
>> I'd like to know: when programming, how do you avoid such errors?
In article <3331.27c23984 at iccgcc.decnet.ab.com>,
I stuck my coding pencil in my ear:
> printf("%d error%s copied\n", nfiles, nfiles?"s were":" was");
> or
> printf("files copied: %d\n", nfiles);
Several persons emailed to point out one or more of the the obvious errors
in the first one. I would correct it to
printf("%d file%s copied\n", nfiles, nfiles=1?" was":"s were");
This assumes that "0 files were copied" is correct. For that reason, and
because it's less susceptible to bonehead errors like mine, I prefer the
second form, which gives "files copied: 0", "files copied: 1", "files
copied: 2".
Hey--this is all my opinion, nobody else's. Rely on it at your peril.
email: browns at iccgcc.decnet.ab.com
Stan Brown, Oak Road Systems, Cleveland, Ohio, USA +1 216 371 0043
More information about the Comp.lang.c
mailing list