牛客网专项练习——C语言错题集(3)

news2024/11/24 22:44:38

文章目录

  • 函数的缺省返回值类型
  • 找不同
  • 数组指针 + 函数指针
  • const 与 指针
  • 函数里操作外面传进来的数组

函数的缺省返回值类型

“在C语言中,凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。” 这是初学学 C 语言时有接触到的一个概念,只是有些忘了( int main() 的返回类型也可以省略,编译器不会报错)。

在这里插入图片描述

找不同

把简单题想复杂了,strcpy、strncpy 用来字符串拷贝,strcat、strncat 用来字符串拼接,strok 用来分解字符串(将字符串中某字符前的子字符串返回),snprintf 用于将指定内容转换为字符串,同时将字符串拷贝到第一个参数。

在这里插入图片描述

数组指针 + 函数指针

  • 数组指针格式: *(p)[10]
  • 函数指针格式: int (*p)(int *)

将两个组合起来:int (*(*p)[10])(int *)

在这里插入图片描述

const 与 指针

太久没接触 const 了,正好复习一下。没有我要选的答案,直接选了 A。分析见后文。

在这里插入图片描述

这里借用他人的分析:

在这里插入图片描述
一开始我还以为 int *const p 这种写法是错误的。。。同时也没有想到 int const *p 等价于 const int *p 。以前学的全忘光了。

函数里操作外面传进来的数组

先提一点,太久没接触 C 语言,所以有些知识点忘了

出错点:

  1. 以为数组传入 func 后真发生了偏移(低级错误)
  2. 把第 6 行的 %c 看成了 %s,这是粗心大意了,加上题目有无法确定选项,所以就没有发现自己错了

先说第一点,数组被传入函数时,传入的是数组首地址,是一个常量,它不能被改变,所以不存在数组首地址发生偏移(在函数外面也不能这样操作,数组名是常量)这一情况,不过正因为传的是地址,所以数组里的成员是可以被改变的(这道题没考这一点)。

第二点,我把 %c 看成了 %s,如果真是 %s,那我应该也是没注意 *s(数组的第一个元素),只能说没认真看题。假如第 6 行是 printf("%s", s); 那么执行后的结果的确无法确定,因为数组 s 的成员里没有字符串结束符 ‘\0’。除非定义时数组长度大于 4,这样编译器会将多余的数组元素赋值为 ‘\0’,或者以字符串形式定义,即 char s[] = "1234",这种情况下编译器会认为数组长度为 5。

在这里插入图片描述

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

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

相关文章

RK3588平台开发系列讲解(进程篇)进程task_struct结构体详解(一)

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、任务 ID二、信号处理三、任务状态四、进程调度沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 Linux 里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 task_stru…

1.uniapp可视化操作-diygw

DAY1-uniapp可视化操作:DIY可视化-拖拽设计1天搞定主流小程序环境安装 文章目录 DAY1-uniapp可视化操作:DIY可视化-拖拽设计1天搞定主流小程序环境安装前言一、DIY可视化桌面客户端安装:二、小皮管理面板phpstudy(或者宝塔桌面)三、phpstorm开发工具:四、Vs Code安装:五、hbuil…

《Java Web轻量级整合开发入门》学习笔记

轻量级Java Web整合开发 第一章 轻量级Java Web开发概述 1.2 java web 开发概述 1.JSP是一种编译执行的前台页面技术。对于每个JSP页面,Web服务器都会生成一个相应的Java文件,然后再编译该Java文件,生成相应的Class类型文件。在客户端访问到…

chatgpt赋能python:Python怎么合并字典

Python怎么合并字典 在Python编程中,字典是一种非常有用的数据结构。它由一组键值对组成,每个键值对都是一个键和对应的值。有时候,我们需要将两个或多个字典合并为一个大的字典。本文将介绍Python中合并字典的方法。 方法一:使…

[架构之路-212]- 需求- UML需求建模:用例图、ER图/概念类图、流程图、序列图、状态机图

目录 前言: 什么是需求建模 1. 用例图 1.1 用例图 1.1.1 组件 1.1.2 用例细化与用例关系 1.2 用例规约 2. ER图/概念类图 3. 跨角色流程图(串行、协同) 4. 活动图(并行、协同) 5. 状态机图 6. 时序图 前言…

Letcode经典黄题——三数之和

还是那句话,一个题思路很重要,没有思路等于无头苍蝇乱撞 题目要求:给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 …

chatgpt赋能python:Python怎么变黑?探索Python黑科技的奥秘

Python怎么变黑?探索Python黑科技的奥秘 如果你在网上搜索“Python怎么变黑”,你会看到很多关于Python黑客技术的讨论。但是,这篇文章将会聚焦于Python如何变得更“黑”,即在SEO优化方面如何利用Python。 Python在SEO优化中的作…

华硕天选4原装Windows11系统带ASUSRECOVERY恢复工厂模式安装

华硕工厂恢复系统 ,安装结束后带隐藏分区以及机器所有驱动软件,奥创Myasus Recovery 文件地址https://pan.baidu.com/s/1Pq09oDzmFI6hXVdf8Vqjqw?pwd3fs8 提取码:3fs8 文件格式:5个底包(HDI KIT COM MCAFEE EDN) 1个引导工具TLK 支持ASUSRECOVERY型…

chatgpt赋能python:Python和Envi:完美结合的最佳方案

Python和Envi:完美结合的最佳方案 如果你正在寻找一种可靠的方法来将Python编程与Envi软件结合起来,那么你来对地方了!在本篇文章中,我们将介绍如何使用Python编程语言和Envi软件相互结合,从而让你的数据分析和地理信…

价值8k的电子书小程序源码+前端(含教程)

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,阅读文章底部来交流!!! 🎉 ✨ 源码介绍 价值8k的电子书小程序源码_附完整教程 无意…

chatgpt赋能python:Python的字符串处理功能:取出字符串的每一位

Python的字符串处理功能:取出字符串的每一位 Python是广泛应用于Web开发、数据分析、机器学习、人工智能和爬虫等领域的一门程序语言。其中,字符串是Python最常见的数据类型之一,也是Web开发中交互数据的主要形式。在Python中,字…

UDS关于0x34服务请求下载学习

1.服务介绍 客户端使用requestDownload服务启动从客户端到服务器的数据传输(下载)。在服务器收到requestDownload请求消息后,服务器应采取一切必要措施接收数据,然后再发送肯定响应消息。 2.请求消息 2.1请求消息定义 C1&#x…

javaSE -- 注解学习笔记

参考资料:https://blog.csdn.net/KingBoyWorld/article/details/105337011 https://blog.csdn.net/qq_42843172/article/details/107293408 1.注解是什么? java注解是一个写在接口、类、属性方法上的一个标签。跟注释不同,能够影响代码。 …

算法模板(5):数学(1):数学知识(1)

数论 整数的整除性 [x]表示不超过x的最大整数,叫做取整函数或高斯函数。设整数a,b不同时为零,则存在一对整数m,n,使得 ( a , b ) a m b n (a, b) am bn (a,b)ambn。注:a和b的最大公因数会写成 (a, b)…

vue3中使用Vuex

目录 什么是Vuex安装和配置Vuex安装Vuex配置Vuex 使用VuexState定义State访问State MutationsMutations 的特点定义Mutations触发Mutations 修改State中的状态 ActionAction 的特点和作用定义Action触发Action GetterGetter 的特点和作用定义Getter获取Getter ModuleModule 的特…

ARM基础(4):L1 Cache之I-Cache和D-cache详解

在上一篇文章ARM基础(3):MPU内存保护单元详解及例子中,我介绍了MPU,我们知道MPU允许按区域修改一级Cache的属性,这个Cache一般为L1 Cache,它位于CPU的内部,用来加快指令和数据的访问速度。同时,…

chatgpt赋能python:如何在Python和Java之间进行整合

如何在Python和Java之间进行整合 在现在这个编程的时代里,使用一种编程语言或一种技术通常不能满足所有的需求。因此,当你需要在Python和Java之间进行整合时,这篇文章就为你介绍了一些解决方案。 为什么需要Python和Java进行整合 Python和…

redis 字典的实现

1.数据结构 节点数据结构 因为是基于开链法的哈希表实现,所以需要维护了一个next节点 typedef struct dictEntry {void *key;union {void *val;uint64_t u64;int64_t s64;double d;} v;struct dictEntry *next; } dictEntry; 复制 哈希表数据结构 其中size是当…

景区旅游多商户版小程序v14.3.1+前端

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 🎉 有需要的朋友记得关赞评,文章底部来交流!!! 🎉 ✨ 源码介绍 【新增】全新授权登录支持取消登录 【新增】商…

3.12生产者消费者模型 3.13条件变量 3.14信号量 C++实现生产者消费者模型

3.12生产者消费者模型 生产者消费者模型中的对象: 1、生产者 2、消费者 3、容器 若容器已满,生产者阻塞在这,通知消费者去消费;若容器已空,则消费者阻塞,通知生产者去生产。生产者可以有多个,消…