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