Janson-DC 2023-02-10 19:30 采纳率: 50%
浏览 34
已结题

【C语言】为什么这个枚举变量 `result` 没有赋值却可以在`switch`中执行和`direction`值匹配的`case`呢?

  • 问题:枚举变量 result 我并没有把 direction 的值赋值给它,但是每次测试的结果都是 switch 这里执行了和 direction 相匹配的 case 项,这是为什么呢?

  • 思路:我本应该是把 direction 的值赋值给 result ,然后用 result 去为 switch 作判断的,但是没有这么做却还是可以运行出正确的结果!

  • 说明: directionDerived_coord() 函数的形参,并且它是声明了static


代码


void Derived_coord(int direction, int *infer_x_coord, int *infer_y_coord)
{
    enum Direction result;
    
    switch (result)
    {
        case North:
                (infer_y_coord[0]) -= 1;
                (infer_y_coord[1]) -= 2;
                (infer_y_coord[2]) -= 3;
                (infer_y_coord[3]) -= 4;
                break;

        case South:
                (infer_y_coord[0]) += 1;
                (infer_y_coord[1]) += 2;
                (infer_y_coord[2]) += 3;
                (infer_y_coord[3]) += 4;
                break;
    
        case West:
                (infer_x_coord[0]) -= 1;
                (infer_x_coord[1]) -= 2;
                (infer_x_coord[2]) -= 3;
                (infer_x_coord[3]) -= 4;
                break;

        case East:
                (infer_x_coord[0]) += 1;
                (infer_x_coord[1]) += 2;
                (infer_x_coord[2]) += 3;
                (infer_x_coord[3]) += 4;
                break;

        default:
                (infer_x_coord[0]) += 1;
                (infer_x_coord[1]) += 2;
                (infer_x_coord[2]) += 3;
                (infer_x_coord[3]) += 4;
                break;
    }
}

枚举类型的声明


static int direction = 0;  

enum Direction
{
    North = 1,
    South = 2,
    West  = 3,
    East  = 4
};

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-02-10 22:13
    关注
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月9日
  • 修改了问题 2月10日
  • 修改了问题 2月10日
  • 创建了问题 2月10日

悬赏问题

  • ¥15 asp写PC网站开通了微信支付,扫码付款不能跳转
  • ¥50 AI大模型精调(百度千帆、飞浆)
  • ¥15 关于#c语言#的问题:我在vscode和codeblocks中编写c语言时出现打不开源文件该怎么办
  • ¥15 非科班怎么跑代码?如何导数据和调参
  • ¥15 福州市的全人群死因监测点死亡原因报表
  • ¥15 Altair EDEM中生成一个颗粒,并且各个方向没有初始速度
  • ¥15 系统2008r2 装机配置推荐一下
  • ¥500 服务器搭建cisco AnyConnect vpn
  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊