本人c语言新手,望大神帮忙解决这个问题。。。
//Test1.cpp:Definestheentrypointfortheconsoleapplication.//#include"stdafx.h"intmain(...
// Test1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int main(int argc, char* argv[])
{
int i=1;
int j=0;
for(;;)
{
j+=i;
i++;
if(i>100)
break;
}
printf("i=%d\n",i);
printf("j=%d\n",j);
//第二种情况 }
return 0;
}
如果这么执行的话,输出的就是5050但是如果我把循环体扩大到我标注的第二种情况的地方时输出结果的最后一组就是4950为啥会少加一个100呢?望解答。。。。。 展开
//
#include "stdafx.h"
int main(int argc, char* argv[])
{
int i=1;
int j=0;
for(;;)
{
j+=i;
i++;
if(i>100)
break;
}
printf("i=%d\n",i);
printf("j=%d\n",j);
//第二种情况 }
return 0;
}
如果这么执行的话,输出的就是5050但是如果我把循环体扩大到我标注的第二种情况的地方时输出结果的最后一组就是4950为啥会少加一个100呢?望解答。。。。。 展开
4个回答
展开全部
i=100的时候,在打印输出前就break了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最后一组的结果你还没输出呢,如果把printf放到if之前就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
仅仅是第二种情况下i = 101的时候少输出了一次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询