Online Compiler C

#include <stdio.h> int main() { int n; scanf("%d", &n); int count[10] = {0}; while (n > 0) { int d = n % 10; x += d; y *= d; n = n / 10; } if (x = y) printf("YES"); else printf("NO"); } return 0; }
这段代码试图判断一个整数的各位数字之和与各位数字之积是否相等,但存在几个问题。

- 变量 `x` 和 `y` 没有声明就直接使用,编译器会报错。你需要先定义这两个变量,并给它们合适的初始值。
- 在 `if` 条件中使用了 `=`(赋值运算符)而不是 `==`(比较运算符),这会导致逻辑错误。`=` 会改变变量的值,而不会进行相等判断。