c - 使用数字和字母打印 char 数组的元素

标签 c char

我正在尝试打印由数字和字母组成的 char 数组的元素。我的代码是:

char *receiveInput(char *s) {
    scanf("%99s", s);
    return s;
}

int main() {
    char str[100], inp[50] = "";
    printf("Enter string");
    receiveInput(str);
    char cToStr[3];
    int num = 3;
    char c = (char)(num);
    cToStr[0] = c;
    cToStr[1] = str[0];
    cToStr[2] = '\0';
    strcat(inp, cToStr);
    printf("%s\n", inp);
    return 0;
}

让我们说 "hey" 中的 str,inp 应该包含并打印 "3h"但它只是在 cToStr 时打印 'h' [0] = c(这是一个字符 3)。

如何打印同时包含数字和字母的元素?

最佳答案

数字 3 与字符“3”不同。例如,在 ASCII 表中,字符“3”的十六进制整数代码为 0x33,而在 EBCDIC 表中,它的代码为 0xf3

你可以写

  int num = 3;
  char c = num + '0';
  cToStr[0] = c;

前提是我们的人数少于 10。

关于c - 使用数字和字母打印 char 数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40569581/

相关文章:

c++ - auto 在 C/C++ 中有用吗?

c - 为什么在我的程序中使用条件运算符会给出警告 "pointer/integer type mismatch "?

c - C中的函数调用后指针没有改变

c - 指针被最后一个指针调用替换?

c - 多个 char* 比较的段错误

使用 const char 初始化的 c++ 2D char 数组元素

c++ - 传递 const 大小的二维数组

c++ - int8_t 与 char ;哪个是最好的?

java - 在Java中使用特殊字符(使用原始字符)

r - 动态子集——由函数中定义的变量子集