我的函数中的 Case/Break 和 '{'

标签 c break

我正在开发最新的新功能。任何解释都会很棒,因为我是编程新手。我不知道如何解决这个问题,因为我得到的错误是: 18 '{' 标记之前有语法错误

20 case 标签不在 switch 语句内

21(同上)

22(同上)

23 `default' 标签不在 switch 语句内

29 [警告] 在返回 void 的函数中“返回”一个值

32 [警告]赋值使指针来自整数而不进行强制转换

34 [警告] 在返回 void 的函数中“返回”一个值

void moveCar(char board[], char vehicle, char direction, int distance)
{
     int i;
     int position, newPosition;
     int offset;
     for (i = 0; i < size; i++) //the main loop for the vehicles and user's input
     {
         if(isalpha(vehicle))//vehicles for all letters but 'x'
         { 
             if(board[i] == vehicle)//vehicles on board
             {
                  swtich(direction)
                  {
                         case 'r': offset = 1; break;
                         case 'l': offset = -1; break;
                         case 'u': offset = -8; break;
                         case 'd': offset = 8; break;
                         default: printf("invalid direction"); break;

                         newPosition = position + offset; 
                         if(newPosition != '.')
                         {
                                         printf("invalid move.");
                                         return 0;
                         }

                         board = '.';
                         board[newPosition] = vehicle; 
                         return 1;
                   }      
               }
          }
}

最佳答案

看起来您将 Switch 拼写为 Swtich,编译器无法识别它,并且 case 语句将无法编译。

此外,您过早关闭 switch 语句。如果您希望这些命令仅在默认情况下执行,请将它们移到中断之前。如果您希望它们针对每种情况执行,请将它们完全移到 switch 语句之外

关于我的函数中的 Case/Break 和 '{',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138498/

相关文章:

javascript - 在 JavaScript 中退出 for-of 循​​环 block 时使用 Break 语句与提前返回

java - 我的中断代码不会破坏我的代码

c - 在 gdb 中调试没有明显原因的段错误?

python - 打破Python字符串内的for循环 join() 方法

在c中组合两个数组,导致错误的函数

c - 用户读取未定义大小数组的数字

Python - 所有循环中的 `break`

java - 我们可以在 switch case java 中添加标签吗

Delphi 的 C 头文件

c - 是否有现代目标/编译器的任何示例,其中打破 C 中的严格别名会影响程序结果?