关于for语句嵌套或是多语句之间的返回,小白求解?

小白举出3个例子例子1:/*打出40个“-”,最后/n*/for(i=0;i<40;i++){printf(“-”);printf(“/n”);}例子2:/*这是声明了2... 小白举出3个例子
例子1:/* 打出40个“-”,最后/n */
for(i=0;i<40;i++)
{
printf(“-”);
printf(“/n”);
}

例子2: /* 这是声明了2个字符型指针,2个char型数组,2个指针指向了数组,他们元素之间的复制*/
for(i=0;*(b+i)!='/0';i++)
{
*(a+i)=*(b+i);
*(a+i)="/0";
}

例子3: /*比较元素之间的数字,从大到小*/
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(*(x+j)>*(x+k); k=j; )
if(k!=i)
{t=*(x+i); *(x+i)=*(x+k); *(x+k)=t;}
}
}

由于3个例子都是举例,没有完全贴出来,我只想理解下for的返回条件,
第一个例子我的理解for()有2个输出语句,每次输出一次第一个语句,for的表达式i++在不断执行,
直到跳出,才执行第二个语句,其跳转的模式有点类似于if语句
第二个例子我的理解for()有2个指针变量语句,每次第一个指针变量语句进行交换,for语句在不断执行
i++,直到他们交换的时候,发现了'/0',才结束,执行第二个语句,也是类似于if的跳转模式
第三个例子我有点费解,for语句的嵌套我明白一些,但是当k=i的时候,那么是向下执行下面的for语句,还是满足返回条件,让第一个for执行i++,这里我不是很懂。
我设想了下,如果
for(i=0;i<n-1;i++)
k=i;
for(j=i+1;j<n;j++)
这样,没有在k=i的前面加上括号,也就是没有包括后面的for语句,他们的执行顺序一样吗,请老师给小白
解答下
展开
 我来答
潮范君
2014-07-16 · 知道合伙人软件行家
潮范君
知道合伙人软件行家
采纳数:1440 获赞数:2874
从事软件开发工作一年有余,主要C++方向。

向TA提问 私信TA
展开全部
看你的理解很乱啊,我给你写上注释 你看看
例子1:/*  打出40个“-”,最后/n  */
for(i=0;i<40;i++)        //这个实际上是输出40个 - 
{
printf(“-”);            //而且每个 - 一行,一共是40行
printf(“/n”);            //因为每次输出-,然后就输出换行了
}
 
例子2: /* 这是声明了2个字符型指针,2个char型数组,2个指针指向了数组,他们元素之间的复制*/
for(i=0;*(b+i)!='/0';i++)
{
*(a+i)=*(b+i);        //这样写,那么a所指的char数组永远为'\0'
*(a+i)="/0";        //应该是 *(a+i)=‘\0’;
}
//如果要达到你描述的目的,修改为下面的:
for(i=0;*(b+i)!='\0';i++) //注意 / 和 \是完全不同的
{
    *(a+i)=*(b+i);    //注意是半角; 而不是全角;
}    
*(a+i)='\0';

你理解的太乱了,如果for循环中 你用大括号把语句括起来,那么肯定是每次循环都要执行整个大括号里面的语句。

更多追问追答
追问
printf(“-”);-是连续的哦,是-------------------------------这样,而不是-换行再-,我是测试过代码的
追答
亲,你是写错了,代码写成这样  printf("\n");  是 \n 而不是 /n
抗鸿德8A
2014-07-16 · 超过35用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:64.7万
展开全部
for后面的{ 到 }两个括号中间的是其执行一次所需要执行的代码
for的()第一个是定义变量的起始条件,第二个是跳出循环的条件,第三个是变量变化的条件
拿你第一个例子说明
第一次执行的时候 i=0 输出第一个语句 也就是输出-
第二个语句是在{}里的 所以每一次执行也会输出 只是是个换行 所以你看不出来而已
然后这两条语句执行1次后 i++ 就是i从0变为1
执行到i=39的时候执行最后一次 然后i++到40 不满足条件了 跳出循环
你可以在printf(“/n”);下面加printf(i);打印一下就看的出来i的变化了
追问
问题printf(“/n”);由始至终只执行过1次
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式