Based on the following:
$RANDOM is an internal Bash function (not a constant) that returns a pseudorandom  integer in the range 0 - 32767.
Yes to eventually being equal at least after this maximum is reached.
Is there anything wrong (syntactically and/or logically) with the script?
1. Zero indenting which makes it quite difficult to read
2. C is an integer and not a string so quoting would not seem appropriate although it of course causes no error
3. (()) is used by bash for numeric comparisons and arithmetic so the following changes could be made:
if [ $A -eq $B ]; then
if (( A == B )); then
4. Personally I am not fond of infinite loops so I would probably have an actual test in the while loop.