C 为什么变量b不';在for循环中不改变吗?

C 为什么变量b不';在for循环中不改变吗?,c,for-loop,pow,C,For Loop,Pow,Hy,我想了解为什么变量b不改变,当我打印它时,它总是像我定义的那样(零)。我的代码有什么问题 使用此代码,我想找到最大整数(b),即10^b您正在循环中声明一个名为b的新变量,并将其设置为I。因为这是一个不同的范围,所以它与循环之前声明的b变量不同。换线 double b = i; 到 循环条件也设置为i==n。这意味着如果输入为0,则循环只运行一次。这可能是i

Hy,我想了解为什么变量b不改变,当我打印它时,它总是像我定义的那样(零)。我的代码有什么问题


使用此代码,我想找到最大整数(b),即10^b您正在循环中声明一个名为
b
的新变量,并将其设置为
I
。因为这是一个不同的范围,所以它与循环之前声明的
b
变量不同。换线

double b = i;


循环条件也设置为
i==n。这意味着如果输入为0,则循环只运行一次。这可能是
i

有两个变量名为b。一个函数的作用域是lg函数,另一个函数的作用域限于for循环的if子句。您可以修改后者,但返回前者。使用关键字'double'声明一个新变量。这是一个常见的错误源,只要在编译器上打开警告,就会提醒您该问题。

您两次声明了“b”变量。用0.0初始化的“b”变量在函数“lg”中具有作用域。如果条款中声明的“b”仅限于该条件。
还要检查for循环的第二个参数,即“i==n”。如果输入(“n”)的值不为零,则is语句将始终为真,即“1”。错误1:
i==n
:如果在for循环中比较
i==n
,则该循环将只运行一次。必须将其固定到
内,或仅一次,具体取决于…@Ctx correct。。谁选择for循环条件是错误的。我想你的意思是
I
请回答你的问题,并向我们展示一些输入和预期输出的示例。但这仅仅是21…我更改了你告诉我的行,但什么都没有change@DarkHelmet检查我的编辑。你也需要改变你的循环条件。哦,天哪。。。我想写
double b = i;
b = i;