int product; // 未初始化 for (int i = 1; i <= n; i++) { product *= i; }
int product = 1; for (int i = n; i >= 1; i--) { // 错误的循环条件 product *= i; }
unsigned long long product = 1; for (int i = 1; i <= n; i++) { if (product > ULLONG_MAX / i) { printf("Overflow detected!\n"); break; } product *= i; }