| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1077 人关注过本帖
标题:新手求教育,简单C,代码不到10行总出错。。。
只看楼主 加入收藏
chan_
Rank: 3Rank: 3
来 自:武汉
等 级:论坛游侠
帖 子:84
专家分:122
注 册:2012-2-29
收藏
得分:0 
原来如此
2012-03-03 18:20
易轩
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2012-3-3
收藏
得分:2 
# include <stdio.h>
int main (void)
{ int i;
  int sum = 0;
  for (i = 0;i < 101; ++i)
       sum += i;
  printf ("sum = %d\n", sum);
   return 0;
}
2012-03-03 19:06
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:2 
我告诉你标准答案:
for语句的语义是:先计算表达式1的值,再判断表达式2的值,为真时,执行循环体一次,这时并不执行表达式3。
                执行完循环体之后,再回来运算表达式3。
所以,你的语句是正确的,但是第一次的1+100没执行。
不信,你可以将表达式2中的i<=j,改成i<2,和i<=2试试。
改正办法:可将表达式1中ij的值改为i=0,j=101这样就从1+100算起了。
2012-03-03 20:30
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
谢谢楼主啊,我没想到的是,for循环也可以这样写。
我想,for中的表达式3,各量求值的顺序应该是从右向左。

[ 本帖最后由 fanliguang 于 2012-3-3 20:37 编辑 ]
2012-03-03 20:33
terry_zhao
Rank: 1
来 自:陕西汉中
等 级:新手上路
帖 子:6
专家分:8
注 册:2012-2-29
收藏
得分:2 
#include <stdio.h>
void main()
{int i=0,t=0;j=100;
for(;i<=j;i++)
t+=i;
printf("the out put is :%d",t);
}
这个够简单吧,你去编译运行试试,绝对没有问题
2012-03-03 20:43
terry_zhao
Rank: 1
来 自:陕西汉中
等 级:新手上路
帖 子:6
专家分:8
注 册:2012-2-29
收藏
得分:0 
#include <stdio.h>
 void main( )
 {
 int i=0,j=100,t=0;
 for (;i<=j;i++)
 t+=i;
 printf("the out put is:%d",t);
 
}这个绝对没有问题,简单
 

[ 本帖最后由 terry_zhao 于 2012-3-3 21:30 编辑 ]
2012-03-03 21:29
这一站,微笑
Rank: 2
等 级:论坛游民
帖 子:7
专家分:14
注 册:2012-3-2
收藏
得分:2 
先看第一次循环过去时i<=j执行了之后就是t=k。。。。。再到最后一次t实际上就是等于前四十九次的和,少加了最后一次,就退出循环了,没有执行最后的t=k
2012-03-03 22:31
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
回复 17楼 这一站,微笑
你错了,是没加第一次。最后一次加上了。

见13楼的说明。
2012-03-04 07:48
qq2603186
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2012-3-4
收藏
得分:2 
根本就不是那复杂
int i,k=0
for(i=1;i<=100;i++)
{
   k+=i或(k=k+i);
}
printf("%d",k);
2012-03-04 08:51
fanliguang
Rank: 2
等 级:论坛游民
帖 子:31
专家分:52
注 册:2012-2-26
收藏
得分:0 
回复 19楼 qq2603186
每个人都有自己的风格。为什么非要让别人学习你的写法?

2012-03-04 09:31
快速回复:新手求教育,简单C,代码不到10行总出错。。。
数据加载中...
 
   



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

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