谢谢大家帮忙,我也在考虑中,交流下吧,每题30分:]来者有分
1.
反转一个字符
写一个函数,反转一个无符号字符变量x(unsigned char x ),并且把结果保存在无符号字符变量y中.
这种反转处理应该是这样的:
x = 10101010 (二进制)
x 反转后 = 01010101 (二进制) (本人想用除法试试看)
2
反转一个链表
写一个程序,反转一个链表.
链表中的元素,数据结构如下:
typedef struct {
int value;
ELEMENT *next;
} ELEMENT;
现在,我们得到一个有限长度的链表,和三个指针 P1, P2, P3,它们都指向链表的头.你只能使用这三个指针去反转这个链表,而不能申请任何更多的内存.3
如何修改下面的程序,以避免在特定类型的计算机体系结构中引起严重的运行时问题.?? void main () ???
{
union u {
unsigned long ip_addr;
unsigned char ip[4];
} ip;
int i;
ip.ip_addr = 0x12345678;
*(unsigned short *)(&(ip.ip[1])) = 0x6789;
printf ("ip = %d", ip.ip[0]);
for (i = 1; i < 4; ++i) {
printf (".%d", ip.ip[i]);
}
printf ("\n");
}
(本人不明白:{,会有题中所述情况发生?)
1.
反转一个字符
写一个函数,反转一个无符号字符变量x(unsigned char x ),并且把结果保存在无符号字符变量y中.
这种反转处理应该是这样的:
x = 10101010 (二进制)
x 反转后 = 01010101 (二进制) (本人想用除法试试看)
2
反转一个链表
写一个程序,反转一个链表.
链表中的元素,数据结构如下:
typedef struct {
int value;
ELEMENT *next;
} ELEMENT;
现在,我们得到一个有限长度的链表,和三个指针 P1, P2, P3,它们都指向链表的头.你只能使用这三个指针去反转这个链表,而不能申请任何更多的内存.3
如何修改下面的程序,以避免在特定类型的计算机体系结构中引起严重的运行时问题.?? void main () ???
{
union u {
unsigned long ip_addr;
unsigned char ip[4];
} ip;
int i;
ip.ip_addr = 0x12345678;
*(unsigned short *)(&(ip.ip[1])) = 0x6789;
printf ("ip = %d", ip.ip[0]);
for (i = 1; i < 4; ++i) {
printf (".%d", ip.ip[i]);
}
printf ("\n");
}
(本人不明白:{,会有题中所述情况发生?)
解决方案 »
- API函数调用全局的和调用父类的有什么区别吗?
- 一个简单的 Cfile 读取文本文件, 却是乱码, 向大家请教
- 关于EditBox响应鼠标左键单击事件的一个诡异错误
- 为什么在按钮上无法响应LBUTTON_DOWN 消息?
- 如何用BROWSEINFO 实现获得一个选择文件夹下的所有文件路径
- 高手请指点:如何得到环境菜单的句柄
- mutex的深度讨论
- 如何在VC6 CalssWizard 增加成员变量 中添加自定义类型
- c#程序调用多线程C++DLL,出错
- 为什么我的ComboBox的下拉菜单怎么老是只有一行,是哪一项属性没设?
- visual C++实践与提高 ActiveX篇(中国铁道出版社)的光盘谁有?
- 怎样用makefile在VC下编译文件?
p2 = p1->next; // p2 指向节点2
p3 = p1->next->next; // p3 指向节点3
p1->next = NULL;
do{
p2->next = p1;
p1 = p2;
p2 = p3;
p3 = p3->next;
}while(p3);
p3->next = p2;
void main()
{
unsigned char x='A';
unsigned char y=0; for(int i=7; i>=0;i--)
{
unsigned char temp = x;
temp &= 1;
temp <<= i;
y += temp;
x >>= 1;
} printf("%d", y);
}输出130,二进制就是1000 0010(A 的二进制表示是 0100 0001)