Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rochester!ken From: ken@rochester.ARPA (SKY) Newsgroups: comp.lang.misc Subject: Re: Check the Arg Count Message-ID: <23508@rochester.ARPA> Date: Tue, 30-Dec-86 22:42:03 EST Article-I.D.: rocheste.23508 Posted: Tue Dec 30 22:42:03 1986 Date-Received: Wed, 31-Dec-86 03:47:30 EST References: <3395@amd.UUCP> <4886@mimsy.UUCP> <3101@diamond.Diamond.BBN.COM> <3208@milano.UUCP> Reply-To: ken@rochester.UUCP (SKY) Organization: U of Rochester, CS Dept, Rochester, NY Lines: 26 |for your info, printf() and scanf() may not even be functions. They are |frequently implemented as macros, and are part of stdio. I suggest you look again at stdio.h. All the cpp's I know don't allow variable numbers of arguments to a macro. You're confusing them with putchar and friends. As for the main discussion: There are two issues that are in danger of being confused here - separate compilation and varargs. It just so happens that vanilla Pascal disallows both and C is the reverse. Separate compilation: with the problem of writing large software packages, it is generally (but not universally) considered a good thing to have cross-module checking. C's checking (a.k.a. lint) is voluntary, Modula-2's is mandatory. Varargs: there have been several proposals for the specification syntax of varargs. I would be interested if any real language has implemented one. If you would rather debate religious issues, followup to misc.religion.langs (a.k.a. /dev/null on most systems :-)). Ken