I\'m rather new to C and have recently been working on making a simple encryption/decryption program. I managed to get the encryption fine, but I\'ve hit a road block with the
Instead of using asciinum % 26
, use (asciinum + 26) % 26
, this will have you using modulus on positive numbers, at the cost of an extra addition each time through the cycle.
In pre-C99 C, the behaviour of %
for negative numbers is implementation-defined. In C99 onwards, it's defined, but doesn't do what you want.
The easiest way out is to do:
((asciinum + 26) % 26)
Assuming asciinum
can never get lower than -26.