注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

浩瀚星云

上善若水 厚德载物<学习版>

 
 
 

日志

 
 

c语言小析  

2008-01-01 14:20:46|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

                                                                                                   作者:冰雨

#define N 20

fun(int a[],int n,int m)

{int i;

for(i=m;i>=n;i--)

a[i+1]=a[i];

}

main()

{int i,a[N]={1,2,3,4,5,6,7,8,9,10};

fun(a,2,9);

for(i=0;i<5;i++)

printf("%d",a[i]);

}

分析:下面的main函数是按照上面的调用为指导来实现的,即上面怎么做下面也跟着一样做.

从上面的fun函数可以看出其功能是实现:for(i=m;i>=n;i--)    a[i+1]=a[i]

下面的fun(a,2,9)则是:for(i=9;i>=2;i--) a[i+1]=a[i]

当i=9时   9>2 a[10]=a[9]=10 i-- i=8

当i=8时   8>2 a[9]=a[8]=9 i--  i=7

当i=7时   7>2 a[8]=a[7]=8 i--  i=6

当i=6时   6>2 a[7]=a[6]=7 i--  i=5

当i=5时   5>2 a[6]=a[5]=6 i--  i=4

当i=4时   4>2 a[5]=a[4]=5 i--  i=3

当i=3时   3>2 a[4]=a[3]=4 i--  i=2

当i=2时   2>=2 a[3]=a[2]=3 i-- i=1

当i=1时   因为1不大于等于2所以跳出此for循环.

进入下一个for循环:for(i=0;i<5;i++) printf("%d",a[i]);

很容易看出此for循环是实现i=0,i=1,i=2,i=3,i=4的值的输出的

当i=0 0<5 printf a[0]=1  i++   i=1

当i=1 1<5 printf a[1]=2  i++   i=2

当i=2 2<5 printf a[2]=3  i++   i=3

当i=3 3<5 printf a[3]=a[2]=3 i++  i=4

当i=4 4<5 printf a[4]=a[3]=4 i++  i=5

当i=5时因为i不小于4所以跳出此for循环.

所以最后的输出是:12334

  评论这张
 
阅读(59)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017