C语言中的转义if语句 #杂注警告(禁用:4996) #包括 int main(){ 双数组1[8]={0}; 双重数据; 双lg_数据=0; int i=0,j=0; 整数计数=1; int lg_计数=1; printf(“7개의 양의 실수를 입력하세요.(마지막 원소는 자동으로 -1.이 됩니다.)\n”); 对于(i=0;i=lg_数据){ lg_数据=阵列1[i]; lg_count=计数; } } }//第(j)段的结束 }//第(i)段的结束 printf(“%lf%d\n”,lg\u数据,lg\u计数); 返回;
如果有值与If(array1[i]==array1[j])语句一致,则我希望停止循环,即使仍有值与else语句一致。我已尝试将break语句放入If语句中…但它不起作用。C语言中的转义if语句 #杂注警告(禁用:4996) #包括 int main(){ 双数组1[8]={0}; 双重数据; 双lg_数据=0; int i=0,j=0; 整数计数=1; int lg_计数=1; printf(“7개의 양의 실수를 입력하세요.(마지막 원소는 자동으로 -1.이 됩니다.)\n”); 对于(i=0;i=lg_数据){ lg_数据=阵列1[i]; lg_count=计数; } } }//第(j)段的结束 }//第(i)段的结束 printf(“%lf%d\n”,lg\u数据,lg\u计数); 返回;,c,loops,if-statement,for-loop,C,Loops,If Statement,For Loop,如果有值与If(array1[i]==array1[j])语句一致,则我希望停止循环,即使仍有值与else语句一致。我已尝试将break语句放入If语句中…但它不起作用。 如何解决此问题?您应该能够使用break 例如: 用于(int i=0;i使用break关键字退出最近的内部循环。但是,如果在该内部循环之外还有其他循环,则需要将变量设置为特定值,并确保所有外部循环始终检查该变量,并在该变量设置为该值时退出循环。语句终止于执行最近的封闭式do,for,开关,或语句时,它出现在语句中 请看以下示
如何解决此问题?您应该能够使用
break
例如:
用于(int i=0;i使用break
关键字退出最近的内部循环。但是,如果在该内部循环之外还有其他循环,则需要将变量设置为特定值,并确保所有外部循环始终检查该变量,并在该变量设置为该值时退出循环。语句终止于执行最近的封闭式do
,for
,开关
,或语句时,它出现在语句中
请看以下示例:
for(int i = 0; i<50;i++)
{
if(i==10)
{
break;
}
}
(i=0;i<8;i++)的{
对于(j=0;j
因此,如果要停止两个循环,可以执行以下操作:
for (i = 0; i < 8; i++){
for (j = 0; j < i; j++){
break; // this will break loop "j"
// whereas loop "i" will still iterate
}
}
flag=false;
对于(i=0;i<8;i++){
对于(j=0;j
请输入以下代码:
flag = false;
for (i = 0; i < 8; i++){
for (j = 0; j < i; j++){
if(condition == TRUE_FOR_BREAK) {
flag = true;
break; // "j" loop break
}
}
if(flag) {
break; // "i" loop break
}
}
(i=0;i<8;i++)的{
计数=1;
对于(j=0;j=lg\u计数){
lg_count=计数;
数据=阵列1[i];
如果(数据>=lg_数据){
lg_data=数据;
}
}
}
否则{
if(阵列1[i]>=lg_数据){
lg_数据=阵列1[i];
lg_count=计数;
}
}
}//第(j)段的结束
}//第(i)段的结束
在单独的函数中,将return置于条件if(array1[i]==array1[j])之后。如果使用VS,则可以使用“提取方法”选项。一个选项是将两个嵌套循环拆分为单独的函数。通过从函数返回,执行将转义两个for循环:
for (i = 0; i < 8; i++){
count = 1;
for (j = 0; j < i; j++){
if (array1[i] == array1[j]){
count++;
if (count >= lg_count){
lg_count = count;
data = array1[i];
if (data >= lg_data){
lg_data = data;
}
}
}
else{
if (array1[i] >= lg_data){
lg_data = array1[i];
lg_count = count;
}
}
}//end of for(j)
}//end of for(i)
void循环(){
对于(i=0;i<8;i++){
计数=1;
对于(j=0;j
如果要停止最近循环语句的执行,可以使用break;
语句
考虑以下代码片段:
void loops() {
for (i = 0; i < 8; i++){
count = 1;
for (j = 0; j < i; j++){
if (array1[i] == array1[j]){
...
return;
...
}
}
}
}
...
loops()
...
您可以使用转到功能是否要停止内循环或外循环?内循环、使用中断、外循环使用中断和标志或转到。您对内循环或外for
循环是否有疑问?break
可以很好地终止内for
循环。要终止外循环,只需在中设置标志,如果
阻止并检查外部循环中的标志。我想停止外部循环。标志是什么?我如何使用标志或转到?此线程中有很多解决方案。只是一个提示:由于这是一种糟糕的编程风格,请不要使用转到。他有嵌套的循环,因此不能单独使用。另外,I=0;I>50
???循环将永远不会进入。是的,你错了,我打错了,是故意的,我没有回答这个问题。OP知道break
。事实上,在我提到它之后,他编辑了他的帖子说,这也是为什么其他人也说了同样的话,对我们投了反对票是相当粗鲁的。那么,是什么阻止你调整你的a还有nswer?是“马车”无论如何。这并不能回答问题。OP知道break
。为什么这个答案不能回答OP的问题?OP问的是如何停止循环条件,这就是为什么我提出了这个解决方案:使用break语句。如果OP知道break语句,那么他不应该问这个问题。根据OP的问题:“我已经试着把break语句放进去了…”。问题是只有一个break
不行,但这正是你所建议的。也许我在他的代码上没有看到break。这就是为什么我认为OP不知道break的原因。好吧,我的错。谢谢老兄;)我可以请求只使用if(标志)吗{
?用true
和false
测试相等性有点糟糕;如果==true
,那么它已经是true
!
void loops() {
for (i = 0; i < 8; i++){
count = 1;
for (j = 0; j < i; j++){
if (array1[i] == array1[j]){
...
return;
...
}
}
}
}
...
loops()
...
int i =1;
while (true) {
i++;
if (i == 5) {
break;
}
}