仅使用 1 个字符指针将整数值从一个变量复制到另一个变量

标签 c pointers

这是我在面试中遇到的问题之一,他问我是否可以仅使用字符指针将 1 个整数变量(假设 i = 100)的值复制到另一个变量 j。

main()
{        
    int i = 100;
    char *p;
    int j = 0;
   /*Write code here to copy the value of i into j  by using only the                        
   character pointer p*/
}

最佳答案

好吧,假设我们有:

int i = 100;
int j;
char *ptr;

然后你可以写:

for (ptr = (char *)&i; ptr != (char *)(&i + 1); ++ptr)
    ((char *)&j)[ptr - (char *)&i] = *ptr;

显然这里有很多指针,但如果不使用其中的许多值,就不可能完成您的任务。

关于仅使用 1 个字符指针将整数值从一个变量复制到另一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107330/

相关文章:

c - 在 IPv4 客户端/服务器应用程序中添加对 IPv6 的支持 - sin6_flowinfo 和 sin6_scope_id 字段?

将日期从字符数组转换为 ISO8601

multithreading - go指针多线程读写错误

c++ - 使用裸指针而不是 weak_ptr 有什么好处吗?

c++ - 从数组中提取对号

c++ - 编写深拷贝 - 复制指针值

c - 无法理解程序的输出

c - 使用 NULL 强制结束可变函数参数

c - CPU 是否自动为内存分配一个值?

在c中将摩尔斯电码转换为英语