榴莲泡芙 发表于 2018-7-14 21:06:03

为什么while里的内容不正确还可以执行呢?大佬们帮帮忙谢谢啦

#include <stdio.h>
int main()
{
        int a=1,b=2,c=2,t;
        while(a<b<c)
        {
                t=a;
                a=b;
                b=t;
                c--;
        }
        printf("%d,%d,%d",a,b,c);
}


为什么b不小于c应该直接输出a,b,c才对的啊,怎么得到1,2,0的啊?求解,谢谢啦!

ba21 发表于 2018-7-14 21:48:06

c 没有 while(a<b<c) 这种写法。其它的先不管,先搞定这里吧

榴莲泡芙 发表于 2018-7-14 21:58:32

ba21 发表于 2018-7-14 21:48
c 没有 while(a

可是代码可以运行,结果也是对的,只是不知道怎么出来的。如果代码错了的话应该不通过的吧。

ba21 发表于 2018-7-14 22:41:13

榴莲泡芙 发表于 2018-7-14 21:58
可是代码可以运行,结果也是对的,只是不知道怎么出来的。如果代码错了的话应该不通过的吧。

我是告诉你没有这种写法,没有说代码是错的。
可以这样写但是逻辑不是你想像的那么美好。

(a<b) && (b<c)

结果对不对自己多调试下吧。
页: [1]
查看完整版本: 为什么while里的内容不正确还可以执行呢?大佬们帮帮忙谢谢啦