如果(中断== 1)中断;不管用
If (break == 1) break; is not working
#include<stdio.h>
int main() {
int i;
for( i = 0; i< 10 ; i++ ) {
printf("test1 &d", i);
if (i == 2)
break;
}
if (break == 1) //line 10
printf("test2 %d", i);
getchar();
return 0;
}
这段代码returns两个错误。首先是第 10 行的语法错误中断。第二个是第 10 行的表达式。
编辑:我没有使用 break 作为变量。我记得几年前为此目的使用过 break,我记得它曾经有效。所以我想知道它当时是否有效,因为我使用的是不同的编译器或其他东西。
break
是关键字,不能作为变量使用。
来自section 6.8.6.3 of the C standard:
1 A break statement shall appear only in or as a switch body or loop body.
2 A break statement terminates execution of the smallest enclosing switch
or iteration statement.
如果你想检测你是否跳出 for
循环,你需要一个单独的变量:
#include<stdio.h>
int main() {
int i, breakout = 0;
for( i = 0; i< 10 ; i++ ) {
printf("test1 &d", i);
if (i == 2) {
breakout = 1;
break;
}
}
if (breakout == 1) //line 10
printf("test2 %d", i);
getchar();
return 0;
}
您不能将 'break' 与整数进行比较。 Break 是一个让你离开当前循环的语句。
我不确定你的意图是什么?你想做什么?
有关休息时间的更多信息:
https://msdn.microsoft.com/en-us/library/37zc9d2w.aspx
break
语句不是函数,因此在使用该语句时它不会 return 值。这意味着比较 'break ==1` 无效,无法测试。
您的代码的问题是您使用 'break' 作为变量,它是一个保留字;你不能把它当作一个变量。
如果您想要完成的是当且仅当 for 循环发生时才做某事,您可以在 break 语句之前调用 printf,它会工作得很好。
break
不是变量,不能比较。这是一个指令。如果你想知道循环是否过早退出,而不是
if (break == 1)
你可以使用
if (i < 10)
#include<stdio.h>
int main() {
int i;
for( i = 0; i< 10 ; i++ ) {
printf("test1 &d", i);
if (i == 2)
break;
}
if (break == 1) //line 10
printf("test2 %d", i);
getchar();
return 0;
}
这段代码returns两个错误。首先是第 10 行的语法错误中断。第二个是第 10 行的表达式。
编辑:我没有使用 break 作为变量。我记得几年前为此目的使用过 break,我记得它曾经有效。所以我想知道它当时是否有效,因为我使用的是不同的编译器或其他东西。
break
是关键字,不能作为变量使用。
来自section 6.8.6.3 of the C standard:
1 A break statement shall appear only in or as a switch body or loop body.
2 A break statement terminates execution of the smallest enclosing switch or iteration statement.
如果你想检测你是否跳出 for
循环,你需要一个单独的变量:
#include<stdio.h>
int main() {
int i, breakout = 0;
for( i = 0; i< 10 ; i++ ) {
printf("test1 &d", i);
if (i == 2) {
breakout = 1;
break;
}
}
if (breakout == 1) //line 10
printf("test2 %d", i);
getchar();
return 0;
}
您不能将 'break' 与整数进行比较。 Break 是一个让你离开当前循环的语句。 我不确定你的意图是什么?你想做什么?
有关休息时间的更多信息: https://msdn.microsoft.com/en-us/library/37zc9d2w.aspx
break
语句不是函数,因此在使用该语句时它不会 return 值。这意味着比较 'break ==1` 无效,无法测试。
您的代码的问题是您使用 'break' 作为变量,它是一个保留字;你不能把它当作一个变量。
如果您想要完成的是当且仅当 for 循环发生时才做某事,您可以在 break 语句之前调用 printf,它会工作得很好。
break
不是变量,不能比较。这是一个指令。如果你想知道循环是否过早退出,而不是
if (break == 1)
你可以使用
if (i < 10)