【发布时间】:2014-07-07 00:17:33
【问题描述】:
c 中的 for 循环
int i;
int n = 20;
for(i = 0; i + n; i-- ) {
printf("-\n");
}
java中的for循环
int i;
int n=20;
for (i = 0; i + n; i--) {
System.out.println("-\n");
}
在上面的例子中,c中的for循环工作正常(将打印“-”20次)。但是java中的for循环显示错误为
线程“main”java.lang.Error 中的异常:未解决的编译问题: 类型不匹配:无法从 int 转换为 boolean
为什么会出现这种错误?
【问题讨论】:
-
你不必在循环前声明 i
-
@DnR 为什么我需要它?仅当我必须在循环后访问 i 而他没有。顺便说一句,我也不了解他的休息条件。在java中从未见过。但已经有了答案
-
@ZerO
i在循环开始后访问。像这样声明i而不是for (int i = 0; i + n; i--)是没有错的 -
我只是尝试在循环之前没有声明 i。但它不起作用..
-
在 C 的原始版本中,你不能写
for (int i = 0;...- 你必须在之前声明它。我认为 C 已经被更新为允许这种结构,但我不确定,因为我已经有很多年没有用 C 编程了。