鱼C论坛

 找回密码
 立即注册
查看: 3860|回复: 11

c循环问题

[复制链接]
发表于 2012-10-13 22:18:37 | 显示全部楼层 |阅读模式
2鱼币
#include<stdio.h>
int main()
{ int a,i;
for(a=1,i=-1;-1<=i<1;i++)
{a++;
printf("%2d",a);
}
printf("%2d",i);
return 0;
}
为什么输出是-1? 条件不符合吗?循环没执行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-10-13 22:18:38 | 显示全部楼层
#include<stdio.h>

int main()

{ int a,i;

for(a=1,i=-1;-1<=i<1;i++)                // 这里你的第二个循环条件根据优先级可以看成这样   先执行-1<=i 这时候返回一个真值(1) 然后在执行1<1 这时候就返回一个假值(0)
                                                                //所以 这里的第二个表达式为0 所以不会执行 for循环里面的语句  直接执行下面输出i的值 -1 

{a++;

printf("%2d",a);

}

printf("%2d",i);

return 0;

}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-13 22:48:46 | 显示全部楼层
-1<=i<1表示有问题,可以表示为i>=-1&&i<1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-14 09:28:10 | 显示全部楼层
#include<stdio.h>
int main()
{ int a,i;
for(a=1,i=-1;-1<=i<1;i++)//因为<=和<结合性从左到右,相当于((-1<=i)<1))
{a++;
printf("a=%2d",a);
}
printf("i=%2d",i);//输出的数是i,循环没执行
return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-14 13:16:54 | 显示全部楼层
我认为这个-1<=i<1表示有问题啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-14 17:40:05 | 显示全部楼层
i的初值是多少,而起表示有问题(如上所说)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-14 19:17:29 | 显示全部楼层
for 第二条语句为真,没执行循环
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-10-16 20:56:10 | 显示全部楼层
这个循环是先判断前面的  -1<=i   为真。值就为1,然后跟后面的 1 <1   比较,为假,故不做循环。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-17 00:09:52 | 显示全部楼层
楼上正解
i初始值就是-1了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-27 19:55:06 | 显示全部楼层
for(a=1,i=-1;-1<=i<1;i++)
改吧 不能连等的,这是个低级错误
改成for(a=1, i=-1; -1<=i&&i<1; i++)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-28 14:29:20 | 显示全部楼层
楼上说的正解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-11-29 00:33:15 | 显示全部楼层
-1<=i<1;   要改成i>=-1&&i<1哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-15 08:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表