char c;
c = '2';
printf("%d\n",c);
所以这个问题来 self 的测验,它问的是显示器是什么。答案是50,我用程序试过了,为什么是50?不是 2 或者什么?
最佳答案
撇号的意思是“字 rune 字”,即'2'
不是整数2,而是字符2,即用于表示单个数字2的字形。
你可以在printf()
中使用%d
打印这个值,这意味着“有符号整数”,这样你就得到了字符的整数值,通常称为“代码点”(或者,传统上,它是“ASCII 值”)。
我认为您的代码不是 100% 干净,因为 char
可能是 unsigned
,您应该在调用中转换为 (int)
需要明确的是,因为 int
是 %d
所期望的。
关于c - char 数据类型中的撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217717/