一级指针简介-课后练习
我要参与
一级指针简介-课后练习
讨论题 3.9k
等22人参与
来源: 第2周 / 嵌入式软件工程师

练习1

定义⼀个数组
int a[5] = {0};
要求大家从键盘上输入数据给数组赋值。
然后定义一个指针int p_max要求它保存最大值的地址。
然后通过
p_max输出最大值。

练习2

unsigned int data = 0x11223344;
unsigned short *q = NULL;

unsigned short t1 = 0;
unsigned short t2 = 0;

(1)要求指针q保存data的地址.

(2)要求利用q读取data的低2个字节赋值給t1 ===>0x3344
要求利用q读取data的高2个字节赋值給t2 ===>0x1122

(3)输出t1和 t2 的和与差

去发布

登录后即可发布作业,立即

我的作业

全部作业 21

浪潮君

01 #include <stdio.h>
02
03 int main() {
04 int a[5] = {0}; // 定义数组并初始化
05 int *p_max = NULL; // 定义指针变量
06
07 // 输入数组元素
08 printf(“请输入5个整数:\n”);
09 for (int i = 0; i < 5; i++) {
10 scanf("%d", &a[i]);
11 }
12
13 // 找最大值的地址
14 p_max = &a[0]; // 先让p_max指向第一个元素
15 for (int i = 1; i < 5; i++) {
16 if (a[i] > *p_max) {
17 p_max = &a[i]; // 更新最大值地址
18 }
19 }
20
21 // 输出最大值
22 printf(“最大值是:%d\n”, *p_max);
23
24 return 0;
25 }


#include <stdio.h>

int main() {
unsigned int data = 0x11223344;
unsigned short *q = NULL;

unsigned short t1 = 0;
unsigned short t2 = 0;

// (1) q保存data的地址
q = (unsigned short *)&data;

// (2) 读取低2字节赋值给t1,高2字节赋值给t2
t1 = *(q);       // 低2字节
t2 = *(q + 1);   // 高2字节

// (3) 输出t1和t2的和与差
printf("t1 = 0x%04x\n", t1);
printf("t2 = 0x%04x\n", t2);
printf("t1 + t2 = 0x%04x\n", t1 + t2);
printf("t1 - t2 = 0x%04x\n", t1 - t2);

return 0;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
代码块
复制 预览
复制成功!

}

提交于  2025-04-27 09:40:41
评论 1
讲师点评
评分:100
无__名
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师