you can easily add a number to a char in C and get a jibberish character, which is why C is a weakly typed language
You can, of course, use the integer you got like a char (after all, C's char is a small integer type) to get your gibberish. You can also use a floating point number as a char, because C has lax implicit conversions.
Of course in C it is perfectly logical. I am pointing out that it is not as strongly typed as other type systems that have richer types.