加不加单引号有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/16 17:43:30
比如:
c=5;
printf("%c:%s\n",c,isalnum©?"yes":"no");
c='5';
printf("%c:%s\n",c,isalnum©?"yes":"no");

C=5
告诉编译器这个是个数值

C='5'
告诉编译器这个是个符号,按ANSI编码的
输出结果当然不是5了(大概6,7十多)

区别很大.
不加单引号是整形常量(int)..
加单引号是字符常量(char)..
字符'5'和5的值相差48..

C=5就是c=5,c的值是5
c='5',c的值是ASC码的5的值。
比如,字符a的ASCII码是97
那么c='97',c的值是a

c=5;
这里的c必须是整型,浮点型。换句话说就是数。

而c='5';
这里的c是字符类型(char).(查ascii表就知道了字符5代表的数了)

不加就是数值型的,加就是字符型的。

不加单引号做整形变量处理,加了做字符变量处理