#include<stdio.h>
void main()
{
char ch,aa;// variable ch
printf("%d",'ch');//ch value
scanf("%c",aa);
}
在输出中为什么ch = 26723.它来自哪里?如果我改为dh,则值变为26724
答案 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
由字符c
和h
组成(允许字节排序)。
可以对26724
进行类似的评论。