字符加上'0'等于ascii码值48, 不加引号0等于数值0

''不是指ASCII码值,  它是字符,    它的ASCII码值是0
''==0

0 数字 48
空格                                        ASCII码值是32

main()
{
char a='';

if(a==0) printf("A ASCII is 0 ");

if(a==' ') printf("A is space ");

printf("*%c* ",a);

getch();
}






单引号是字符
双引号是字符串
什么都不加是数字


加单引号的表示字符零,即char类型    '0'         字符零 
不加引号的零本身表示的即int型        0          数字零 


在计算机中,所有的数据在存储和运算时都要使用二进制数表示,
同样的,象a、b、c、d这样的52个字母(包括大写)、以及0、1、2等数字
还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,

而具体用哪个数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通讯而不造成混乱,
那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了所谓的美国信息交换标准码,统一规定了上述常用符号用哪个二进制数来表示。*/



char a;
int i;
cin>>a;
i=a;
cout<<i; 这时你输入的0就不需要加单引号 而输出的就是48






原文地址:https://www.cnblogs.com/2014acm/p/3875223.html