5.2作业

文章详细展示了C语言中的数据操作,包括位运算、数组赋值、内存地址计算、动态内存分配、队列操作以及边界条件检查。还提及了字符串处理中的问题,如内存不足和野指针的预防。
摘要由CSDN通过智能技术生成
  1. data |=(0x1<<6)

data &=~(0x1<<6)

data  ^=(0x1<<6)

  1. K=5;a=8,b=10,c=5;d=5,因为errinfo3是容量为5的字符数组。
  2. (1)tmpInfo1.height=1;

(2)tmpInfo1.baseInfo.with=2;

(3)tmpInfo2.height=1;

(4)tmpInfo2->baseInfo.with=2;

(5)*tmpInof3.height=1;

(6)*tmpInof3->baseInfo->with=2;

4.b=7;

5.(1)int* p=(int*)0x80000000;

A  *p=tmp;

B   tmp=*p;

  1. char* p=(char*)&tmp;

for(int i=0;i<4;i++)

{

*buf[4+i]=*p[i];

}

  1. char *buf{count];-====>char** buf =(char**)malloc(count* sizeof(char*));

Int i;

for(i=0;i<count;i++){

buf[i]=(char*)malloc(100);

}

6.

  1. seqn[tail]=data;
  2. data=seqn[tail-1];
  3. If(tail==1)

{

Printf(“队列为空\n”);

}

  1. If(tail==32)

{

Printf(“队列为满\n”);

}

  1. tail=1;
  2. count=tail-1;
  3. 31个
  1. (1)int a=i/8;int b=i%8;Rdy[a] &=(0x1<<b);
  1. Int a=j/8;int b=j%8;Rdy[a] &=~(0x1<<b);

for(int i=0;i<64;i++)

{

Int a=i/8;int b=i%8;

If(Rdy[a] &=(0x1<<b))

{

return i;

}

}

return -1;

8.data可能越界访问,要先判断i是否小于100

9.m是字符类型,fun的参数是int*类型,m的值会变成15的ASCII码值

10.(1)line5中str容量不够,无法复制完整字符串,

line7后面缺少将str指向NUll的语句,会出现野指针

  1. line2改为p=(char*)malloc(12);

line7后面加上line8str=NULL;

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值