gpt4 book ai didi

字符比较和处理变量

转载 作者:行者123 更新时间:2023-12-04 19:29:48 24 4
gpt4 key购买 nike

所以我对一般编程非常陌生,对于基于 C 和 UNIX 的操作系统更是如此。
我正在尝试学习如何用 C 编写代码,并且正在开发 ubuntu OS。我在网上找到了一些初学者级别的任务来开始。所以现在我正在尝试完成这项任务:
完成函数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 编辑器,是否存在语法错误导致编译器无法识别变量?
    真的很感激任何想法或提示!

    最佳答案

    您可以使用简单的 switch 语句轻松完成此操作,例如:

    char code2abc(const int code){
    switch(code){
    case 0b01: return 'A';
    case 0b10: return 'B';
    case 0b11: return 'C';
    default: return '';
    }
    }
    这里没有发生真正的转换,只是一个简单的 if-else 关系。我认为他们希望您做的是查看二进制并将其转换为十进制?如果是这样,上面的代码将等效于:
    char code2abc(const int code){
    switch(code){
    case 1: return 'A';
    case 2: return 'B';
    case 3: return 'C';
    default: return '';
    }
    }
    至于两位码的“意义”,是没有的。它只是分配给字母“A”、“B”和“C”的任意映射。你不会在任何约定中找到它。

    关于字符比较和处理变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67743390/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com