请指出下面代码的错误 int handle_message(int message_id) { int result = 0; switch (message_id) { case MSG_ ID_NOTIFY: route_to_notify_thread (message_id); break; case MSG_ID_SHUTDOWN: case MSG_ID_REBOOT: LOGI("System Message %d =====\n", message_id) send_msg_to_sys_thread(message_id); break; default: LOGE ("===== Kaka Wrone Message %d =======\n", message_id) break; } return result;}
时间: 2024-02-17 09:05:02 浏览: 23
这段代码的错误在于缺少了每个 case 和 default 后面的冒号,同时在两个 case 语句中缺少了 break 语句。正确的代码应该是:
```
int handle_message(int message_id) {
int result = 0;
switch (message_id) {
case MSG_ID_NOTIFY:
route_to_notify_thread(message_id);
break;
case MSG_ID_SHUTDOWN:
case MSG_ID_REBOOT:
LOGI("System Message %d =====\n", message_id);
send_msg_to_sys_thread(message_id);
break;
default:
LOGE("===== Kaka Wrone Message %d =======\n", message_id);
break;
}
return result;
}
```
需要注意每个 case 和 default 后面都需要加上冒号,而且每个 case 语句都需要加上 break,否则会出现执行多个 case 的情况。
相关问题
5.请指出下面代码的错误 int handle_message(int message_id) { int result = 0; switch (message_id) { case MSG_ID_NOTIFY: route_to_notify_thread (message_id); break; case MSG_ID_SHUTDOWN: case MSG_ID_REBOOT: LOGI("System Message %d =====\n", message_id) send_msg_to_sys_thread(message_id); break; default: LOGE ("===== Kaka Wrone Message %d =======\n", message_id) break; } return result;
下面代码的错误是在case MSG_ID_SHUTDOWN和case MSG_ID_REBOOT的语句中,缺少了一个分号。正确的代码如下:
```
int handle_message(int message_id) {
int result = 0;
switch (message_id) {
case MSG_ID_NOTIFY:
route_to_notify_thread (message_id);
break;
case MSG_ID_SHUTDOWN:
case MSG_ID_REBOOT:
LOGI("System Message %d =====\n", message_id);
send_msg_to_sys_thread(message_id);
break;
default:
LOGE ("===== Kaka Wrone Message %d =======\n", message_id);
break;
}
return result;
}
```
5.请指出下面代码的错误 int handle_message(int message_id) { int result = 0; switch (message_id) { case MSG_ ID_NOTIFY: route_to_notify_thread (message_id); break; case MSG_ID_SHUTDOWN: case MSG_ID_REBOOT: LOGI("System Message %d =====\n", message_id) send_msg_to_sys_thread(message_id); break; default: LOGE ("===== Kaka Wrone Message %d =======\n", message_id) break; } return result;
下面代码的错误是在两个case语句中缺少了break语句,导致程序会继续执行下一个case语句的代码。正确的代码如下:
```
int handle_message(int message_id) {
int result = 0;
switch (message_id) {
case MSG_ID_NOTIFY:
route_to_notify_thread(message_id);
break;
case MSG_ID_SHUTDOWN:
case MSG_ID_REBOOT:
LOGI("System Message %d =====\n", message_id);
send_msg_to_sys_thread(message_id);
break;
default:
LOGE("===== Kaka Wrone Message %d =======\n", message_id);
break;
}
return result;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)