As you might imagine, the answer depends on the version of DOS.
The Wikipedia article on the topic matches my memories.
Before MS-DOS 5.0
Before MS-DOS 5.0, the basic assignments are as follows:
- A: goes to the first floppy drive, if any, or to a “phantom” drive;
- B: goes to the second floppy drive, if any, or to a “virtual” floppy drive (the virtual floppy drive was mapped to A:, but DOS remembered whether the floppy in the drive was A: or B:, prompting the user to switch when necessary).
Then DOS assigns drive letters to any remaining floppy drives (up to four in total), then to the first primary partitions of the first two hard drives (if any), then to the logical partitions in the first extended partition of the hard drives, then to device drivers, then to TSRs. (Before MS-DOS 5.0, other hard drives and other primary partitions were ignored by default.)
Applying this to your two examples:
- adding a third floppy drive to a two-drive machine, with no hard drive, would result in floppies on A:, B: and C:;
- adding a third floppy drive to a two-drive machine with a hard drive would result in floppies on A:, B: and C:, and the hard drive on D:.
MS-DOS 5.0 and later
With MS-DOS 5.0 and later, the basic assignments are as follows:
- A: goes to the first floppy drive, if any;
- B: goes to the second floppy drive, if any, or to the “virtual” floppy drive if there is only one floppy drive, or to nothing if there is no floppy drive;
- C: always goes to the first primary partition on the first hard drive.
Then DOS assigns drive letters to the first primary partitions on the remaining hard drives, then to logical partitions, then to other primary partitions, then to other floppy drives (up to four altogether in practice), then to device drivers, then to TSRs (MSCDEX and network redirectors typically).
So a machine with one primary partition and four floppy drives would end up with floppies on A:, B:, D: and E:, and the hard drive on C:.
Applying this to your two examples:
- adding a third floppy drive to a two-drive machine, with no hard drive, would result in floppies on A:, B: and C:;
- adding a third floppy drive to a two-drive machine with a hard drive would result in floppies on A:, B: and D:, and the hard drive on C:.
Other combinations were of course possible. For a while I had a single-floppy-drive PC (no hard drive) with A: and B: mapped to the floppy drive, and C: a RAM drive. OEM versions of DOS could behave differently, and device drivers can pretty much do what they want (including replace existing drives).
Lots of software fails if the boot drive isn’t A: or C:. Drive assignments would typically get messed up by installing an additional hard drive (which would shift the logical partitions of the first hard drive by one); you could also run into trouble with network drives which might replace a local drive assignment.