| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1698 人关注过本帖
标题:程序的方向赋值设置了条件,为什么赋值上后还是能赋值为下,求解答
只看楼主 加入收藏
小白报道
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2019-9-17
结帖率:62.5%
收藏
已结贴  问题点数:15 回复次数:5 
程序的方向赋值设置了条件,为什么赋值上后还是能赋值为下,求解答
#include<stdio.h>
#include<conio.h>
char tou;
enum FX
{
    up = 72, down = 80, left = 75, right = 77
};
void changfx_()
{
    char key;
    if ((key = _getch()) < 0)
    {
        key = _getch();
    }
    switch (key)
    {
    case up:
        if (key != down)
            tou = up;
        break;
    case down:
        if (key != up)
            tou = down;
        break;
    case right:
        if (key != left)
            tou = right;
        break;
    case left:
        if (key != right)
            tou = left;
        break;
    }

}
int main()
{
    while (1)
    {
        changfx_();
        printf("方向为=%d\n", tou);
    }
}
搜索更多相关主题的帖子: key 赋值 left break case 
2020-01-20 11:21
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
为什么赋值上后还是能赋值为下
听不懂呀,你直接说 你输入什么、输出什么、期待输出什么。
2020-01-20 12:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:15 
猜猜吧,你需要将 if (key != ……) 之类的都改为 if (tou != ……)
2020-01-20 12:22
小白报道
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2019-9-17
收藏
得分:0 
回复 2楼 rjsp
输入一个上之后,tou=up(上),然后输入down(下)条件语句不能为down,头依然为up
2020-01-20 12:45
小白报道
Rank: 2
等 级:论坛游民
帖 子:42
专家分:10
注 册:2019-9-17
收藏
得分:0 
回复 3楼 rjsp
。。。  原来条件设置的问题在这里  感谢感谢
2020-01-20 12:46
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
//看不懂啊用我自己的理解做了一遍,可能有很多不对(自从发现兔斯基沉迷无法自拔),错了一定要指出来啊
#include<stdio.h>
#include<conio.h>
//我想定义一个枚举类型,并测试枚举类型的数据
//枚举类型里有up down left right  其实枚举里的就是常量
//要想测试类型里的数据我选择用switch用while写循环懒得一步一步的测试了
//为了防止死循环使用了getch().感觉没必要啊
enum FX
{
    up=72, down =80, left=75, right =77
};//这个枚举和c++有区别,cpp里不能往enum里定义常量像up=72是违规的
int main()
{   printf("请按任意键继续");
    while(1) {
        char key;
        key=_getch();//
        char tou;
        scanf("%d",&key);
        switch (key)
        {
        case up:
            tou = up;printf("方向为up=%d\n",tou); break;
        case down:
            tou = down;printf("方向为down=%d\n", tou); break;
        case right:
            tou = right; printf("方向为right=%d\n", tou);  break;
        case left:
            tou = left; printf("方向为left=%d\n", tou);break;
        }
    }return 0;
}

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-01-20 23:17
快速回复:程序的方向赋值设置了条件,为什么赋值上后还是能赋值为下,求解答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021900 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved