为什么ch显示值26723

时间:2015-11-28 16:02:34

标签: c

Why ch value showing 26723? Where ch=26723 came from is it Garbage or any other ?

#include<stdio.h>
void main()
{
 char ch,aa;// variable ch
 printf("%d",'ch');//ch value
 scanf("%c",aa);

}

在输出中为什么ch = 26723.它来自哪里?如果我改为dh,则值变为26724

2 个答案:

答案 0 :(得分:2)

您的代码不是打印变量ch,而是多字符文字'ch',其值恰好为26723. 'dh'的值恰好为27624.

如果要打印变量char ch,必须先将其初始化为一个值,然后使用正确的printf说明符打印它:

char ch = 'A';
printf( "%c" , ch );

答案 1 :(得分:1)

当您将其打印为十六进制时,该值更易理解。使用我的hex实用程序:

$ hex 26723 26724
26723: 26723 064143 0x6863 text "hc" utf8 \346\241\243
26724: 26724 064144 0x6864 text "hd" utf8 \346\241\244

我可以看到26723由字符ch组成(允许字节排序)。

可以对26724进行类似的评论。