www问答网
所有问题
c语言中为什么用宏定义一个字符常量(一个字母)可以赋值给字符变量?
如题所述
举报该问题
推荐答案 2019-12-07
因为宏是一个简单替换,所以c语言中用宏定义一个字符常量(一个字母)可以赋值给字符变量。实质是在编译之前会把宏替换掉,然后再编译。
例如:
#define A 5
void main()
{
int num=A;
}
在编译之前A已经被替换成5了,所以就可以赋值给num。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/AKd131G5A4GGAW3AnWW.html
其他回答
第1个回答 2018-02-01
1、因为
宏定义
实质是一种替换,虽然看起来是字符,实际上最终是被替换成其他常熟或者值。
2、宏定义中的
标识符
都采用大写,这是编程中一种约定俗成的习惯:
1)宏替换不做语法检查,所以在使用的时候要格外小心
2)宏替换通常在文件开头部分,写在函数的花括号外边,作用域为其后的程序,直到用 问好
3)# u n d e f 命令终止宏定义的作用域
4)不要在
字符串
中使用宏,如果宏名出现在字符串中,那么将按字符串进行处理.
本回答被网友采纳
相似回答
...
赋值给一个字符
型
变量
,不理解
什么
意思,是数字5吗
?可以
把ASCII码值...
答:
你好:你没有理解错,不是把5赋值给a,也不是把5的ASCII赋值给a,而是把ASCII值为5
的字符赋值给
a。include <stdio.h>int main(){char a=5;printf("%c\5",a);//输出ASCII值为5的字符}
c语言中
初始化赋值和用#define命令对
一个字符赋值
有
什么
异同
答:
用int 关键字 的r 是
一个变量
,就是r的值现在是12但是当 我们在写一条语句r =24的时候,此时 r的值就变成了24 而对于用#define r 12 这个定义的r 就是
一个常量
,就是不能改变的 ,这个#define
定义宏
常量 一般放在程序的开头,所以此时的r 也是一个全局的哈,一般用#define
定义的常量
都...
C语言
怎么把字符数组中
的字符赋值给字符变量
答:
4、(如何将字符串
赋值给字符
数组
)C语言中
,将字符串作为字符数组来处理的。C语言规定了一个“字符串结束标志”,以字符’\0’作为标志。为此,再对字符数组初始化的方法补充一种
用字符串常量
来使字符数组初始化方法:char c[] = {“Hello”};或 char c[] =“Hello”; 注意:数组c的长度不...
C语言中为什么用
#define
定义
符号
常量
答:
为了以后的方便。比如你程序,是一个以5为底的除法运算。那就是 x=a/b b就#define为5 你程序用着用着,突然想用8为底,那你只要改define就好了,不用再自己去程序里把所有的b都改成8.主要还是为了以后的方便。
字符串常量
有
什么
作用?
答:
a:整数中不允许出现逗号;b:科学计数法表示1.5乘以10的2.0次方,由于科学计数法指数部分只能是整数。c:\号是转义符号后面要跟其他符号来表示具体字符,这里什么都没跟就写反引号了;d:
字符串常量
是连续的2个字符,第
1个字符的
ascii码是7,第2个字符的ascii码是0作为字符串结束符号,第1个字符...
C字符串常量定义
答:
字符串常量
定义是指定义符号常量,
用一个
标识符来代表一个常量,通过
宏定义
预处理指令来实现。
常量的
定义:define count 60 这就定义了一个常量 count 它的值是一个常量60 在整个程序中不变。主调函数中的参数是实际参数,被调函数中的参数是形式参数。比如说:如下代码段 被调函数:int max(int a...
c语言宏定义
如何用
?用宏定义
有
什么
优点?
答:
主要用于函数重定义,通用性,
可以用一个变量
符号替代另一个变量符号 格式:#define M(x,y) x+y 在主程序里写入z=M(6,9);等价于z=6+9;而写成z=(6-8,9);等价于z=6-8+9 ;直接代入 还有就是 :#define Uint unsigned int 即用 Uint 代替unsigned int 便于书写,还有就是...
define在
c语言中
用法
答:
4、占8个字节的大小;char
字符变量
,主要存放字母,占1个字节的大小。define优点:使用简单宏定义可用宏代替一个在程序中经常
使用的常量
,这样在将该常量改变时,不用对整个程序进行修改,只修改
宏定义的字符串
即可,而且当常量比较长时, 我们可以用较短的有意义的标识符来写程序,这样更方便一些。我们...
C语言中字符串常量
或
字符常量
是否
可以赋值给
double类型的
变量
答:
1)字符常量赋值给
double类型变量,使用强制转换 double d = (double)'a'; //将'a'的ascii码值97赋值给d,d=972
)字符串赋值给
double类型变量,使用atof函数 incluce<stdlib.h> //此头文件中包含atof的声明//...double d;char *s = "3.14"; d = atof(s); //atof函数把字符串...
大家正在搜
c语言中字符常量
宏定义常量和const常量
c语言正确的字符常量
c语言字符常量规则
c语言合法的字符常量是
c语言字符串常量
c语言字符常量的合法表示
字符常量是什么
c语言中合法的常量
相关问题
c语言中为什么用宏定义一个字符常量(一个字母)可以赋值给字符...
c语言 我为什么不能直接用 = 把一个字符变量的值赋值给另一...
在C语言中,定义了一个字符变量,给他赋值一个1,为什么也可以...
为什么定义一个单字符类型变量可以输入一个字符串进行操作
C语言 怎么把字符数组中的字符赋值给字符变量
C语言中,为什么字符串可以赋值给字符指针变量
在C语言宏定义中,用一个标识符来表示一个字符串
C语言中,为什么字符串可以赋值给字符指针变量?