c - 从函数返回字符串文字
问题描述
我需要一个函数来根据代码值和辅助值返回一个字符串,我认为示例代码显示了我打算做什么,可能有一种简单的方法可以做到这一点,但我被卡住了。会有很多代码编号,这是我能想到的用 C 语言做的最好方法,但我得到一个编译错误,因为显然我不能在一个案例中做一个声明。我将不胜感激任何帮助纠正这一点。
char *response(int code, int alt) {
switch ((int)code)
{
case 1:
char *key[] = {"msg1","msg1_alt"};
case 2:
char *key[] = {"msg2","msg2_alt"};
default:
return "unknown";
}
return key[alt];
}
[评论更新:]
在示例中,如果代码变量的值为 1 且 alt 的值为 0,我希望函数返回“msg1”y 代码 == 2 和 alt==0 函数应返回“msg2”并且如果代码 == 2 和 alt==1 函数应该返回“msg2_alt”等等。因此 alt 的值将始终为 0 或 1,如果无法识别代码,则返回字符串为“未知”-
解决方案
尝试以下操作:
char *response(int code, int alt) {
char *key[ ] = {"msg1", "msg1_alt", "msg2", "msg2_alt"};
switch (code) {
case 1: return key[alt];
break;
case 2: return key[alt+2];
break;
default: return "unknown";
}
}
推荐阅读
- typescript - Office 插件 PowerPoint:OSF.DDA.SlideRange
- jquery - 我想通过匹配来自 mongo 数据库的值来选中复选框
- sql - 如何在 SQL 中读取以 $ 符号开头的 JSON 键名
- sql - 尝试从两个不同的数据库中获取值时出现语法错误
- r - 我怎样才能缩短电线?
- angular - Angular 12 试图将数据传递给动态加载的组件,但不确定如何实现它
- java - 如何将 JsonArray 对象转换为要在 spinner java android 上使用的字符串数组?
- php - 无法验证 APiPlatform 中的子实体
- javascript - 在 JavaScript 中写入文件时将每个字符串附加到新行
- jenkins - 如何获取从另一个作业触发的作业的构建 ID