在C编程语言中,我们可以将一个字符数字放入一个int堆栈中吗?

在C编程语言中,我们可以将一个字符数字放入一个int堆栈中吗?,c,C,我们得到了一个char算术表达式,我们应该将操作数放入一个int堆栈中,用运算符求解表达式并得到答案。是否可以将字符传递到整数堆栈并获得答案 是否可以将字符传递为整数 是的,这是有效的: #include <stdio.h> void print_me(signed char c; int i) { printf("'%c' = %d\n", c, i); } int main(void) { signed char c = 'A'; int i = c; pr

我们得到了一个char算术表达式,我们应该将操作数放入一个int堆栈中,用运算符求解表达式并得到答案。是否可以将字符传递到整数堆栈并获得答案

是否可以将字符传递为整数

是的,这是有效的:

#include <stdio.h>

void print_me(signed char c; int i)
{
  printf("'%c' = %d\n", c, i);
}

int main(void)
{
  signed char c = 'A';
  int i = c;

  print_me(c, i);

  ...

char
适合于
int
,因此您的答案是肯定的。C没有特殊的字符类型
char
是一个整数类型。@Olaf我非常确定
int
必须至少与
char
一样大,但我会再次检查。编辑:from:“除了最小的位计数外,C标准还保证
1==sizeof(char)@Quentin:
sizeof(int)>=sizeof(char)
。但这并不意味着
int
可以表示
char
的所有值。要考虑到
char
没有标准的有符号性,并且
int
中可能有填充位,但
char
中没有填充位(但不确定是否允许'SCHAR\u MAX>int\u MAX)!Ahok“。。。其大小应等于或大于……”
'A' = 65