为什么这个程序在 c# 中不起作用
本文关键字:不起作用 程序 为什么 | 更新日期: 2023-09-27 18:33:52
我需要检查给定的数字是否可以x
最小数字整除:
int x, a, b, c,min;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
a = min;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) = 0)
lbl_solution.Text = "number is divisible";
else
lbl_solution.Text = "number is not divisible";
如何修复此错误?
不能隐式将 int 转换为布尔值
感谢您对
我的帮助,这是我制作的corect代码,感谢您
int x, a, b, c, min;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
min=a;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) == 0)
lbl_solution.Text="number is divisible";
else
lbl_solution.Text="number is not divisible";
你的第一个错误就在这一行:
if ((x % min) = 0)
你必须使用这样的==
:
if ((x % min) == 0)
塞康德的错误是:变量min
没有初始化...
int x, a, b, c;
int min = 2;
x = Convert.ToInt32(tbx.Text);
a = x / 100;
b = (x / 10) % 10;
c = x % 10;
a = min;
if (b < min)
b = min;
if (c < min)
c = min;
if ((x % min) == 0)
lbl_solution.Text = "number is divisible";
else
lbl_solution.Text = "number is not divisible";
听起来问题出在那条线上;
(x % min) = 0
x % min
返回int
值,而不是变量。例如,它将5 = 0
;
这意味着在这种情况下,您将获得 2 个编译时错误;
- 不能隐式将 int 转换为布尔值。(因为
if
语句需要布尔表达式) - 赋值的左侧必须是变量、属性或索引器。
强烈怀疑您只是想检查您的x
除以min
而没有任何提醒。如果是这样,您需要使用相等运算符而不是像赋值运算符这样的赋值运算符;
if ((x % min) == 0)
C# 编译器不允许使用未初始化的变量。在您的情况下,您尝试使用a
和min
变量而不初始化它们。