中易网

c中为什么不能输出一个常量的地址编号?

答案:3  悬赏:60  
解决时间 2021-01-07 05:33
我想通过下述程序输出一个定义好的常量的地址编号,为什么出错?应怎样编才对?
#include
#define x 12
void main()
{
printf("Address of a: %d\n", x);
}
最佳答案
#define是定义宏,宏是在编译阶段就全被替换掉了,在运行期就已经不存在了,当然没有地址.

比如这段代码,在编译时就变成了
#include
void main()
{
printf("Address of a: %d\n", 12);
}
12是个常数,怎么可能有地址
全部回答
在最终的汇编结果中,数组名只是一个标号,对应一个地址,在程序中使用数组就是要替换成这个起始地址,因此作为标号本身是不可以修改的,也不是一个变量。 用数组名进行计算就是用数组起始地址计算,但不可以给数组名重新赋值
X不是INT型的整数,当然不能输出 要这样 #include int main() { int x=12; printf("Address of a: %p\n", x); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女答。若女生有这种男友,什么感觉?
马克斯·韦伯的管理理论的主要内容
小学作文星海之星六百字
英雄联盟关羽怎么玩,求师傅
请以《xxx真让我_____》为题,字数600字,写10
怎么对付卖菜啊奶年纪比我还大,居然叫我啊姨
在7、15、10、8、6、8、10、10、5、10这组数
屋顶上蝇子屎怎么消除
分析图中的三幅图片,在下面横线处填入相应的
9:45的英文
求11平台账号 5级以上的,多多益善啊。在线等
求轩辕变鬼服,最好的鬼服在哪里
浙江已经成为中国的美国了!!!农村自建房五
五米以下的玻璃钢快艇属于三无船只吗
亲,教我怎样狠狠的报复前男友吧?我想让他后
推荐资讯
新车突然开了3000转有事吗l
我在网上认购了基金,为什么却没有持仓的信息
玉林话的起源
正大五金水暖电料店地址在哪,我要去那里办事
昨天火箭和太阳的冲突是怎么回事
合租房子,隔壁两男一女住一起,说明了什么a
咋天他给他父母写了一封800字的信 英文
viv0丫37手机好不好,和0PP0R7比怎么样。
童谣100字左右,不能抄袭百度
歧路亡羊翻译
德国森萨地板怎么样
佐助有了九勾玉轮回眼会不会佩恩的招
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?