【发布时间】:2017-02-26 12:12:48
【问题描述】:
如何仅使用write() 函数将指针的地址写入标准输出。 (类似于printf() 函数中的%p 标志。)
我不能使用除“write”“malloc”和“free”以外的任何东西。
【问题讨论】:
-
只有写功能?不能使用
sprintf之类的东西来准备输出? -
您是否尝试过使用
snprintf?如果有,进展如何?如果没有,试试吧!如果不能使用,那么需要使用一些其他的(可能是你自己的)函数将数字转为字符串,但原理是一样的。 -
我不能使用除
writemalloc和free之外的任何东西。 -
这是实现定义的。它不能以便携的方式完成。但是第一步你应该看看
uintptr_t。其余的主要是你应该在课程中学习的整数算术。
标签: c pointers memory-address