C语言 for无限循环

#include<stdio.h>voidmain(){inti,k;for(k=-1;k=1;k++)/*无限循环,因为K=1是赋值语句,那么改成k==1为什么还是没有... #include<stdio.h>
void main()
{int i,k;
for(k=-1;k=1;k++) /*无限循环,因为K=1是赋值语句,那么改成k==1为什么还是没有值?还是我理解错了。*/
printf("*****\n");
}
展开
 我来答
前今歌095
推荐于2017-11-24 · TA获得超过181个赞
知道小有建树答主
回答量:328
采纳率:0%
帮助的人:232万
展开全部
for 的第二个参数是循环条件
k=1是赋值语句 因为K为INT类型 1符合条件 赋值成功 返回true 所以条件一直为真陷入无限loop
K==1 显然for运行时K的值为-1 不符合条件所以直接跳过for语句
pritf(????) 这句在FOR下面 当for语句没有{} 花括号 则FOR语句把下面最近的一句语句 当做循环体语句
因为for条件不成立所以 不输出
更多追问追答
追问
那么把K赋值为0呢?for(k=-1;k=0;k++) 这算是一种特殊情况么?
追答
0一样的  int a=0  请问成立吗?  结果当然是成立的 只要赋值 不超过INT 能包含的范围都是返回TRUE的
百度网友bd4cf2a31
2011-08-04 · TA获得超过332个赞
知道小有建树答主
回答量:333
采纳率:100%
帮助的人:346万
展开全部
k=1是赋值语句,对于判断条件来说是值永远都是1,也就是说for(k=-1;k=1;k++) 还是无限循环。
你把改成for(k=-1;k==1;k++)就没问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tc280
2011-08-04 · TA获得超过437个赞
知道小有建树答主
回答量:416
采纳率:0%
帮助的人:292万
展开全部
for循环第二个分号前放的是循环条件,它的值是一个逻辑型,你不论k=1还是k==1最后看的是这条语句是为0还是为1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小的夜神月DU
2013-01-31
知道答主
回答量:43
采纳率:0%
帮助的人:13.6万
展开全部
这个简单
for(i=0;i==2;i=i+0);
这就实现了无限循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式