C语言—每日选择题—Day57

指针相关博客

打响指针的第一枪:指针家族-CSDN博客

深入理解:指针变量的解引用 与 加法运算-CSDN博客

第一题

1. 下面程序段()

char *str[] = {"ABC", "DEF", "GHI"};
puts(str[1]);

A:ABC

B:GHI

C:D

D:DEF

答案及解析 D

本题考查的是指针数组, 打响指针的第一枪:指针家族-CSDN博客

str[1]是字符串“DEF”的首元素地址,打印字符串就是放首元素地址,然后puts会找\0,遇到\0停止打印;

第二题

2. 32位系统,函数 void Func(char str[100]){} 中 sizeof(str) 的大小为()

A:4

B:5

C:6

D:7

答案及解析 A

        记住一点,数组传参的时候,形参会降成指针。所以str就是一个char*类型的指针,32位系统就是4字节。

第三题

3. 下面代码在64为系统下的输出为()

void print_array(int arr[]) 
{int n = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < n; i++)printf("%d ", arr[i]);
}int main() 
{int arr[] = {1, 2, 3, 4, 5};print_array(arr);return 0;
}

A:1

B:1 2

C:1 2 3 4 5

D:Run time error

答案及解析 B

        这个题其实就是上面的题复杂一点,一定要记着数组传参的时候会被降为指针哦~

64位系统,指针大小为8字节,所以n = 2;那输出的就是前两个元素1,2;

第四题

4. 运行以下C语言代码,输出的结果是()

#include <stdio.h>
int main()
{char *str[3] ={"stra", "strb", "strc"};char *p =str[0];int i = 0;while(i < 3){printf("%s ",p++);i++;}return 0;
}

A:stra strb strc

B:s t r

C:stra tra ra

D:s s s

答案及解析 C

真的十分建议大家去看看指针的两个博客,对做指针的题很有帮助哦!

做指针的题必须要画图!首先p = str[0],str数组是一个指针数组,所以str[0]是字符串“stra”的首元素地址,那p++,就要看p的类型,p是char*类型,那就往后移动一个字节,所以就到t位置,之后到r位置。依次打印出来就是stra,tra,ra;

第五题

5. 在gcc编译器中,下面程序的运行结果是()

#include<stdio.h>
int main(void)
{int x[5] = {2,4,6,8,10},*p;int (*pp)[5];p=x;pp=&x;printf ("%d\n",*(p++));printf ("%d\n",*pp);
}

A:4 4

B:2 4

C:2 随机值

D:4 6

答案及解析 C

这个题很不错,我相信大家第一个输出语句为2肯定没问题,直接看第二个输出语句

        *pp,先看pp是什么,pp是一个数组指针,存的是整个数组的地址,后面赋值pp = &x,那 *pp = *&x = x,x是首元素的地址。所以第二个语句打印的应该是这个数组的首元素的地址;但是大家要记住一点,我们每次程序执行的时候,开辟的空间都不是固定的,所以这个数组的地址就是不固定的,那首元素的地址就是随机值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用户行为分析遇到的问题-ubantu16,hadoop3.1.3

用户行为分析传送门 我的版本 ubantu16 hadoop 3.1.3 habse 2.2.2 hive3.1.3 zookeeper3.8.3 sqoop 1.46/1.47 我sqoop把MySQL数据往hbase导数据时候有问题 重磅&#xff1a;大数据课程实验案例&#xff1a;网站用户行为分析&#xff08;免费共享&#xff09; 用户行为分析-小…

5G+云渲染技术:将如何快速推进XR和元宇宙?

XR&#xff08;扩展现实&#xff09;领域正在以惊人的速度增长。目前&#xff0c;到 2024 年&#xff0c;一些专家表示这个行业的价值将达到 3000 亿美元。 这个行业发展如此迅速的部分原因是 XR 将在商业环境中的带来巨大利益。近年来&#xff0c;很多企业遇到了将增强现实和…

RabbitMQ不公平分发问题分析及问题解决

1.不公平分发 1.1 不公平分发策略是什么&#xff1f; 在 RabbitMQ 中&#xff0c;不公平分发&#xff08;Unfair Dispatch&#xff09;是指当多个消费者&#xff08;Consumers&#xff09;同时订阅同一个队列&#xff08;Queue&#xff09;时&#xff0c;消息的分发机制是不公…

I.MX6ULL_Linux_驱动篇(48)linux I2C驱动

I2C 是很常用的一个串行通信接口&#xff0c;用于连接各种外设、传感器等器件。本章我们来学习一下如何在 Linux 下开发 I2C 接口器件驱动&#xff0c;重点是学习 Linux 下的 I2C 驱动框架&#xff0c;按照指定的框架去编写 I2C 设备驱动。本章同样以 I.MX6U-ALPHA 开发板上的 …

Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印

package com.atguigu.structure; public class Demo02_arrayList {public static void main(String[] args) {MyGenericArrayListV1 arrayListV1 new MyGenericArrayListV1();//arr.add(element:100,index:1);下标越界&#xff0c;无法插入//初始化&#xff08;第一次添加&…

Java 栈和队列的交互实现

文章目录 队列和栈的区别一.用队列模拟实现栈1.1入栈1.2出栈1.3返回栈顶元素1.4判断栈是否为空 二.用栈模拟实现队列2.1 入队2.2出队2.3peek2.4判断队列是否为空 三.完整代码3.1 队列模拟实现栈3.2栈模拟实现队列 队列和栈的区别 栈和队列都是常用的数据结构&#xff0c;它们的…

令人惊叹的代码技巧

在编程世界中&#xff0c;有一些令人惊叹的代码技巧和巧妙的实现方式。以下是一些我见过的令人印象深刻的代码技巧&#xff1a; 函数式编程魔法&#xff1a; 使用函数式编程的一些特性&#xff0c;比如高阶函数、匿名函数和Lambda表达式&#xff0c;可以使代码更为简洁、易读。…

飞天使-k8s知识点1-kubernetes架构简述

文章目录 名词功能要点 k8s核心要素CNCF 云原生框架简介k8s组建介绍 名词 CI 持续集成, 自动化构建和测试&#xff1a;通过使用自动化构建工具和自动化测试套件&#xff0c;持续集成可以帮助开发人员自动构建和测试他们的代码。这样可以快速检测到潜在的问题&#xff0c;并及早…

揭秘Spark学习框架网站:让你轻松掌握大数据处理神器!

介绍&#xff1a;Apache Spark是一个开源的大数据处理框架&#xff0c;它致力于实现高速、易用和复杂分析。Spark最初由加州大学伯克利分校的AMPLab于2009年开始开发&#xff0c;并于2010年成为Apache的开源项目之一。由于其出色的性能表现与丰富的功能特性&#xff0c;Spark已…

【计算机四级(网络工程师)笔记】操作系统概论

目录 一、OS的概念 1.1OS的定义 1.2OS的特征 1.2.1并发性 1.2.2共享性 1.2.3随机性 1.3研究OS的观点 1.3.1软件的观点 1.3.2资源管理器的观点 1.3.3进程的观点 1.3.4虚拟机的观点 1.3.5服务提供者的观点 二、OS的分类 2.1批处理操作系统 2.2分时操作系统 2.3实时操作系统 2.4嵌…

SpringBoot之IOCDI的详细解析

3.3.2 IOC详解 通过IOC和DI的入门程序呢&#xff0c;我们已经基本了解了IOC和DI的基础操作。接下来呢&#xff0c;我们学习下IOC控制反转和DI依赖注入的细节。 3.3.2.1 bean的声明 前面我们提到IOC控制反转&#xff0c;就是将对象的控制权交给Spring的IOC容器&#xff0c;由…

c语言编写http服务器(Linux下运行)

参考文章&#xff1a;https://blog.csdn.net/baixingyubxy/article/details/125964986?spm1001.2014.3001.5506 上面是详细讲解&#xff0c;我这篇是总结了他的代码&#xff0c;因为他没给整体代码 所有代码&#xff1a; #include <stdio.h> #include <stdlib.h&g…

爬虫入门--爬取电影TOP250-附源码解析

爬取电影TOP250 1 知识小课堂1.1 什么是爬虫1.2 爬虫能做什么 2 代码解析2.1 运行环境2.2 过程解析2.2.1 第一步&#xff1a;引入两个模块2.2.2 找到网址2.2.3 拉去页面全内容 2.2.42.3 完整代码 1 知识小课堂 1.1 什么是爬虫 爬虫&#xff0c;也叫网络蜘蛛&#xff0c;如果把…

02 ModBus TCP

目录 一、ModBus TCP 一帧数据格式 二、0x01 读线圈状态 三、0x03读保持寄存器 四、0x05写单个线圈 五、0x06 写单个寄存器 六、0x0f写多个线圈 七、0x10&#xff1a;写多个保持寄存器 八、通信过程 九、不同modbus通信模式的应用场景 一、ModBus TCP 一帧数据格式 其…

图神经网络 (GNN) 概述

GNN 作者 with DALLE 3 一、说明 神经网络是受人脑工作启发的计算模型&#xff0c;能够从复杂的非结构化数据&#xff08;如图像、文本、音频和视频&#xff09;中学习。然而&#xff0c;还有许多其他类型的数据无法用传统的神经网络轻松表示&#xff0c;例如那些具有图形结构的…

基于YOLOv8的结核病预测系统设计与实现

一、项目背景 本系统的目的是通过痰液图像来检测出结核杆菌的携带者&#xff0c;及时采取治疗措施&#xff0c;在病情早期对其进行相关治疗减少结核病的传播。程序使用的样本是经过染色处理可以使得结核杆菌在显微镜拍摄的医学图像&#xff0c;通过检测医学图像中的结核杆菌诊…

Android Canvas状态save与restore,Kotlin

Android Canvas状态save与restore&#xff0c;Kotlin private fun f1() {val bitmap BitmapFactory.decodeResource(resources, R.mipmap.pic).copy(Bitmap.Config.ARGB_8888, true)val canvas Canvas(bitmap)val paint Paint(Paint.ANTI_ALIAS_FLAG)paint.color Color.RED…

初始redis

目录 前言&#xff1a; 1.盛赞redis 2 redis特性 3.redis的典型应用场景 4.安装并启动redis 前言&#xff1a; 本章将带领读者进入Redis的世界&#xff0c;了解它的前世今生、众多特性、典型应用场景、安装配置、如何用好等&#xff0c;最后会对Redis发展过程中的重要版本…

EMNLP 2023 亮点回顾:大模型时代下的 NLP 研究

作为自然语言处理&#xff08;NLP&#xff09;领域的顶级盛会&#xff0c;EMNLP 每年都成为全球研究者的关注焦点。2023 年的会议在新加坡举行&#xff0c;聚集了数千名来自世界各地的专家学者&#xff0c;也是自疫情解禁以来&#xff0c;中国学者参会最多的一次。巧的是&#…

appium工具相关

一、appium基本介绍 1、appium 基本介绍 定义&#xff1a;appium 就是一款非常流行和好用的第三方工具&#xff0c;通过该工具我们可以配合 python 脚本实现 IOS / Android 多平台的APP 自动化测试。作用&#xff1a;在编写测试脚本的PC机和运行 APP 的真机或设备之前充当一个…