c语言中为什么用宏定义一个字符常量(一个字母)可以赋值给字符变量,

如题所述

因为宏是一个简单替换,所以c语言中用宏定义一个字符常量(一个字母)可以赋值给字符变量。实质是在编译之前会把宏替换掉,然后再编译。

  例如:
#define A 5
void main()
{
int num=A;
}  在编译之前A已经被替换成5了,所以就可以赋值给num。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-27
字符常量是用单括号括起来的一个字符。
有两种表示方法:
一种是用该字符的图形符号,如'b'
,'y','*'。
另外还可以用字符的ascii码表示,即用反斜符(\)开头,后跟字符的ascii码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
一种是用字符的八进制ascii码,表示为:\ddd这里,ddd是八进制值。
另一种使用字符的十六进制ascii码值,表示为
\xhh
这里hh是两位十六进制值。
如:'a'
,'\101'

'x41'都表示同一个字符常量。
转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。
下面是常用的特殊转义字符。
第2个回答  2019-10-08
汉字根据编码方式不同,所占的大小2~4个字节不等,汉字赋值给字符变量,只显示第一个字节,出问号就不奇怪了
用汉字赋值给字符数数组然后在显示的话,一定要考虑编码方式问题,你的终端支持哪种就选择哪种,否则乱码

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网