| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 454 人关注过本帖
标题:小弟初学C求指教
只看楼主 加入收藏
小跑跑
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-12
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
小弟初学C求指教
程序代码:
for(i=1;i<=20;i++)
    {
    f1=f1+f2;
    f2=f2+f1;}
    printf("%ld %ld",f1,f2);
for(i=1;i<=20;i++)
    {printf("%ld %ld",f1,f2);
    f1=f1+f2;
    f2=f2+f1;}





赋值f1 f2后,请问以上两个循环得出的值为何不一样,有点不明白,求解,谢谢!


    
2012-09-19 03:24
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:3 
因为第一种 显示结果是 f1 f2 进行运算后的值
第二种 显示结果 是上一个循环后的f1 f2的值 而且刚进入循环体时 显示结果我f1 f2的初始值  i=20的 f1 f2是没有被打印出来的

我要成为嘿嘿的黑客,替天行道
2012-09-19 05:57
a7882669
Rank: 4
等 级:业余侠客
帖 子:192
专家分:290
注 册:2012-4-17
收藏
得分:3 
。。。。。。
2012-09-19 07:45
我的易经
Rank: 2
等 级:论坛游民
帖 子:3
专家分:19
注 册:2012-9-19
收藏
得分:3 
像类似循环的题目,你可以从执行第一次循环开始,按照程序的语句一条一条地执行,循环执行几次后,你就看出结果了。在给f1,f2赋初值后,上面的循环立即执行运算赋值语句,执行一次后才输出f1,f2,此时输出的已经不是初值了;下面的循环立即输出初值,然后才执行运算赋值语句。从第一次的循环看,上面的语句输出的结果要比下面的提前一次。再看第20次循环,上面输出的是f1,f2运算20次后的结果,而下面输出的是f1,f2运算19次的结果,输出的值也就不一样了。
2012-09-19 11:01
小跑跑
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-9-12
收藏
得分:0 
明白了,谢谢两位!
2012-09-20 18:09
快速回复:小弟初学C求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015705 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved