为什么当我尝试存储字符时,将其作为int存储在C语言中 所以我有代码:
char p = (char)'w';
tree_insert(&root,p);
但是它只是传递数字119而不是实际的字母w,但是我需要它传递字母w。
任何帮助都会很棒 这是我对tree_insert的声明,以防您需要:
void tree_insert ( struct Tree_Node**root, char letter );
答案 0 :(得分:0)
您如何看待这个价值?如果您使用的是printf,请确保以正确的方式打印出变量,这一点很重要。此代码应打印您的字符:
printf("%c\n", p);
我怀疑您的打印对帐单上有一个%d
,我已将其放置在%c
上。发生这种情况的原因是因为C为您的char 'w'
以8位存储char:
0 1 1 1 0 1 1 1
bin -> dec = 119
当您告诉C将这8位打印为一个字符时,它必须知道如何解释它们。您使用format specifiers来告诉C它到底在看什么。