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

 我来答
百度网友3b2e8fd7e9
2020-04-12 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:32%
帮助的人:600万
展开全部
因为宏是一个简单替换,所以c语言中用宏定义一个字符常量(一个字母)可以赋值给字符变量。实质是在编译之前会把宏替换掉,然后再编译。

  例如:
#define A 5
void main()
{
int num=A;
}  在编译之前A已经被替换成5了,所以就可以赋值给num。
锐语梦战靖
2019-03-27 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:35%
帮助的人:829万
展开全部
字符常量是用单括号括起来的一个字符。
有两种表示方法:
一种是用该字符的图形符号,如'b'
,'y','*'。
另外还可以用字符的ascii码表示,即用反斜符(\)开头,后跟字符的ascii码,这种方法也称为转义序列表示法,具体方法是:有两种形式:
一种是用字符的八进制ascii码,表示为:\ddd这里,ddd是八进制值。
另一种使用字符的十六进制ascii码值,表示为
\xhh
这里hh是两位十六进制值。
如:'a'
,'\101'

'x41'都表示同一个字符常量。
转义序列表示法还可以用来表示一些特殊字符,用来显示特殊符号或控制输出格式。
下面是常用的特殊转义字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佟佳成和荣愉
2019-10-08 · TA获得超过3万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:724万
展开全部
汉字根据编码方式不同,所占的大小2~4个字节不等,汉字赋值给字符变量,只显示第一个字节,出问号就不奇怪了
用汉字赋值给字符数数组然后在显示的话,一定要考虑编码方式问题,你的终端支持哪种就选择哪种,否则乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式