このコードで何が起こっているのかを理解しようとしています
int i = 10, j = 7, l;
unsigned int k;
double q = 3.56;
char c;
c = q * i * j;
l = c;
std::cout << l << "\n"; // result is -7
std::cout << c << "\n"; // result is ?
なぜ l の結果が '7' で、c の場合は値 i を変更しても、j の結果は常に '?' になるのか理解できませんでした。誰かが私にその理由を指摘できますか? ありがとう