这是我在面试中遇到的问题之一,他问我是否可以仅使用字符指针将 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/