In C's early years _in the US_ where it was developed, keyboards
without '$' were pretty rare. Much more common were ASCII-pre-68-or-so
without { | } ~ (and ` not relevant to C), and EBCDIC/3270 without { }
and ~ although that last was sometimes (often?) paired to 'hook-not'.
(At least keyboards on computer terminals; we're not concerned with
those on accounting machines, or Addressographs, or pianos.)
No more problems than there were for keyboards missing various other
characters replaceable by trigraphs. Of course, use of a trigraphed
'$' operator might have been an impediment to understanding what it
*was*, but I certainly think it would have nicely taken care of any
lingering doubts that might be a function
And $ for sizeof in particular could have had the rather nice mnemonic
'cost', especially in the days when memory really was core and cost a
noticeable fraction of a penny per bit. (And discrete-logic registers
occupied ~~1sf boardspace and cost at least a few dollars per bit.)
- formerly david.thompson1 || achar(64) || worldnet.att.net