c++ for 循环 里面有个 if

#include <iostream>
using namespace std;
int main(){
int a;
cout<<"please input a number:\n";
cin>>a;
for(int i=1;i<a;++i)
if(i>20){
cout<<a<<" 大于20\n";
return 1;
}
cout<<a<<" 不大于20...\n";
}

cout这句是属于IF里面的呢? 还是FOR里面的。 如果是IF里面的,那么IF不成立就直接输出了吧。如果是FOR里面的话,应该输出a-1次啊。怎么只输出一次。我觉得它2个都不属于, 但是IF后面大括号后面没有分号!
知道我的意思吗?
是不是for 循环的循环体 就是 if{....}
后面那就cout... 都不属于?
如果这样才能想通。
但是if{} 后面为什么不用加分号,算一句吗?

if 是属于FOR的,如果没有括号的话只会以它的下一句关联。
而if 后有{}算做一句 当你大于20的时候由于有一个return 1 自然就返回了
所以只会输出一次 不管你输多少都执行一次的 把return 1 去掉就可以了

大括号是不加分号的 对于for来说 if {}就是一句话了
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-30
for(int i=1;i<a;++i) if(i>20){ cout<<a<<" 大于20\n";
return 1;}; 这个 cout 在 if 里,在 for 里,由于有 return,所以进 if 一次就结束程序了。

cout<<a<<" 不大于20...\n"; 在 for 和 if 以外。缺 return。
第2个回答  2009-06-30
当然是if里面的。还有,你的for没加{ }呀!但是if是for循环里的语句,三者的关系为for包含if,if包含cout

c++ for 循环 里面有个 if
if 是属于FOR的,如果没有括号的话只会以它的下一句关联。而if 后有{}算做一句 当你大于20的时候由于有一个return 1 自然就返回了 所以只会输出一次 不管你输多少都执行一次的 把return 1 去掉就可以了 大括号是不加分号的 对于for来说 if {}就是一句话了 ...

C++中for语句内if的问题
如果s[i]是大写字母,第一个if不运行,经过第二个if转化为小写 如果s[i]是小写字母,第一个if运行,并将小写转化为大写,但程序继续运行,走到第二个if,满足条件,又将转化好的大写字母重新转化回小写了,所以出现了,你所说的情况 解决办法:将第二个if改为else if ...

if 里面 for 循环在第一次进入会被执行,第二次进入就不执行是什么原因...
在C++中,如果for循环嵌套在if语句中,那么无论第一个if的条件成立不成立,都要执行第二个if。for每循环一次,两个if语句都要做一次。for跟的那个语句块大括号是第一个左大括号和末尾的右大括号,所以for每次都要把两个if执行一次。如果您使用的是Python,那么可能是因为您在函数内部使用了break语句。

请教for循环内嵌if和else的问题
因为有continue语句 它的作用是立刻进行下一轮循环 所以无论continue后是什么语句,都不会执行 只有continue不执行时才能执行它后面的语句

C++求教for循环和if一起使用的方法
这个其实并不适合用for,用while好点,一定要用for的话,类似于 include<stdio.h> int main() { int n;scanf("%d",&n);printf("%d ",n);for(; n!=1;) { if(n%2) n=3*n+1;else n=n\/2;printf("%d ",n);} }

C语言for循环中插入“if...else”语句
你的第二个C语言程序我帮你改完了,你看看吧.(改动的地方见注释)include<stdio.h>#include<stdlib.h>int main(){ int a,b,c,d,e; d=1; e=7; for(a=1;a<=9;a++) \/\/这里a改成由小到大循环 { if(a<=5) { for(b=1;b<=5-a;b++) \/\/这里b的终止条件...

c++,这个程序的for循环和if结构怎么理解?不明白
for循环用于遍历str数组中的每个元素,当遇到结束符\\0时,终止for循环。在for循环中判断元素是不是c。如果元素的值是c,将i下标后移1位,如果元素的值不是c,则将j位的值赋给i位,从而实现删除c的目的。

c++中for循环中的if里面可以用break来退出for循环么?
break在C\/C++中可以退出for循环的。看你图片中最后一个结束花括号不是对齐的for循环,你检查一下for的循环体是否正确。例如下面一个简单的例子中,直接输入5就退出循环了。include <iostream> using namespace std;int main() { cout << "test\\n";int guess=0;for(int j=0; j<99; j++){...

c++ for里面的if语句没有执行为什么
因为if(true)才会只能if语句 不满足条件就不会执行if语句。或者跳出了for循环也不会执行if语句。请设置断点进行调试。

C++中 如何让for 循环体中的某一条语句(或某一个函数)只执行一次?_百度...
你可以在循环体外面设个bool类型 然后在循环体里搞个if,里面bool类型改下状态 例:bool once = true;for (;;){ if (once){ \/\/只执行一次 once=false;} }

相似回答