for循环的执行次数??

Andysun1986 2011-07-16 10:02:59
#define N 2
#define M N+1
#define K M+1*M/2
main()
{
int i;
for(i=1; i<K;i++)
{}
}

执行次数为什么是4次呢, 我认为 K = 2+1*2+1/2 =5.5 ,应该是5次,为什么是4呢
...全文
3845 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
啊福 2011-07-16
  • 打赏
  • 举报
回复
for循环次数应该是指大挂号 {.... } 里面语句执行次数;

从上面的例子来看,i 从1开始,1,2,3,4,大挂号里面的语句就执行了4次;
当i=5时就不执行大挂号里面的语句了
lazy_virus 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 k1246195917 的回复:]

#define N 2
#define M N+1
//#define K M+1*M/2
#include<iostream>
using namespace std;
main()
{
int i;
cout<<M<<endl;
//cout<<K<<endl;
cout<<(M/(2.0))<<" "<<M<<endl;//这边为什么输出2.5 3?3/2.0 =2.5……
[/Quote]
理解了
lazy_virus 2011-07-16
  • 打赏
  • 举报
回复
#define N 2
#define M N+1
//#define K M+1*M/2
#include<iostream>
using namespace std;
main()
{
int i;
cout<<M<<endl;
//cout<<K<<endl;
cout<<(M/(2.0))<<" "<<M<<endl;//这边为什么输出2.5 3?3/2.0 =2.5? 不理解。
cout<<M<<endl;
cout<<(int)1.5<<endl;
//for(i=1; i<K;i++)
//{}
}


叁叁玖玖 2011-07-16
  • 打赏
  • 举报
回复
K=4.5 吧?
按LZ 的代码 运行了下
for 循环中 i<k(k=4.5) 循环4次
c_losed 2011-07-16
  • 打赏
  • 举报
回复
因为是int 哪来的半次。。。让编译器肿么循环。。。
TitanQuest 2011-07-16
  • 打赏
  • 举报
回复
i 从1开始,1,2,3,4, 5不适合了,当然只有4次了,怎么会5次
hongwenjun 2011-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 z159liao 的回复:]

1/2为0,K=5

for( i = 1; i < 5; i++)
{}

4次,进调试器看下
[/Quote]
++ 英文当整数处理了

这样试试
#define N 2.0
#define M N+1.0
#define K M+1*M/2.0
z159liao 2011-07-16
  • 打赏
  • 举报
回复
1/2为0,K=5

for( i = 1; i < 5; i++)
{}

4次,进调试器看下

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧