【发布时间】:2021-08-16 23:14:57
【问题描述】:
所以我对一般编程非常陌生,对于基于 C 和 UNIX 的操作系统更是如此。
我正在尝试学习如何用 C 编写代码,并且正在开发 ubuntu 操作系统。我在网上找到了一些初学者级别的任务来开始。所以现在我正在努力完成这个任务:
完成函数code2abc的实现,使其返回 对应于类型参数代码中指定的 2 位代码的字符 字符。函数返回的字符应根据 代码如下位内容:
代码/返回值:00000001/'A' --- 00000010/'B' --- 00000011/'C'
预期输出:
- code2abc(1) = 'A'
- code2abc(2) = 'B'
- code2abc(3) = 'C'
- code2abc(0) = ' '
- cod2abc(还有什么) = ' '
首先,我并没有真正理解 2 位代码的含义以及如何使用它。我在网上查过,但没有找到任何帮助。其次,据我所知,指令暗示函数的输入是一个 char 值,这如何响应那里提到的二进制代码?到目前为止,我已经尝试过:
char code2abc(char code) {
if ((code <'1' != 0) || (code >'3' != 0)) { // referring to ASCII values of the chars
return ' ';
}
return (code + 52); // 52 is the difference of ASCII values between A,B,C and 1,2,3
}
我习惯于使用 java,所以我尝试使用我所知道的,但我觉得我很遥远。当我编译文件时,系统提醒我没有使用变量'code',当我运行它时它返回''(空格)。我正在使用 vim 编辑器,会不会是语法错误导致编译器无法识别变量?
真的很感激任何想法或提示!
【问题讨论】: