非ASSIIC字符,multicharacter literal

在lcd显示

#define S_CHAR_ARROWUP     '▲'
#define S_CHAR_ARROWDOWN '▼'  ▼,▼

时提示可能会遇到移植问题

普通字符是一个字节存放的,

而multicharacter是是int 类型的。

 

  A   character   literal   is   one   or   more   characters   enclosed   in   single   quotes,   as   in   ’x’,   optionally   preceded   by    
  the   letter   L,   as   in   L’x’.   A   character   literal   that   does   not   begin   with   L   is   an   ordinary   character   literal,   also    
  referred   to   as   a   narrow-character   literal.

 

An   ordinary   character   literal   that   contains   a   single   c-char   has   type    char,   with   value   equal   to   the   numerical   value   of   the   encoding   of   the   c-char   in   the   execution   character   set.    
 

An   ordinary   character   literal   that   contains   more   than   one   c-char   is   a   multicharacter   literal.   A   multicharacter    
  literal   has   type   int   and   implementation-defined   value.   

 

也就是说在单引号内的不是一个字符,

用VC看结果:

int main(int argc, char* argv[])
{

    printf("Hello World!%0x /n",'▼');
    printf("Hello World!%c%c /n",0xa8,0x8b);
    return 0;
}

image

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值