我正在尝试打印由数字和字母组成的 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/