当前位置: 首页 > news >正文

C 语言标准库 - <errno.h>

目录

1.errno 变量

2.宏


1.errno 变量

errno.h 声明了一个 int 类型的 errno 变量,用来存储错误码(正整数)。

如果这个变量有非零值,表示已经执行的程序发生了错误。

#include <errno.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>int main() {int x = -1;errno = 0;int y = sqrt(x);if (errno != 0) {fprintf(stderr, "sqrt error; program terminated.\n");exit(EXIT_FAILURE);}return 0;
}

上面示例中,计算一个负值的平方根是不允许的,会导致errno不等于0

如果要检查某个函数是否发生错误,必须在即将调用该函数之前,将errno的值置为0,防止其他函数改变errno的值。

2.宏

变量errno的值通常是两个宏EDOMERANGE。这两个宏都定义在errno.h。它们表示调用数学函数时,可能发生的两种错误。

  • 定义域错误(EDOM):传递给函数的一个参数超出了函数的定义域。例如,负数传入sqrt()作为参数。
  • 取值范围错误(ERANGE):函数的返回值太大,无法用返回类型表示。例如,1000 传入exp()作为参数,因为 e^1000 太大,无法使用 double 类型表示。

使用数学函数时,可以将errno的值与 EDOM 和 ERANGE 比较,用来确定到底发生了哪一类错误。

相关文章:

C 语言标准库 - <errno.h>

目录 1.errno 变量 2.宏 1.errno 变量 errno.h 声明了一个 int 类型的 errno 变量&#xff0c;用来存储错误码&#xff08;正整数&#xff09;。 如果这个变量有非零值&#xff0c;表示已经执行的程序发生了错误。 #include <errno.h> #include <stdio.h> #in…...

Golang自带的测试库testing的使用

testing是golang自带的测试库。 testting规则&#xff1a; 在待测试功能所在文件的同级目录中创建一个以_test.go结尾的文件。 测试函数名必须是TestXxxx这个形式&#xff0c;而且Xxxx必须以大写字母开头&#xff0c;另外函数带有一个*testing.T类型的参数。 // 单元测试&am…...

29.电影院售票系统(基于springboot和vue的Java项目)

目录 1.系统的受众说明 2 论文背景 2.1 国内研究现状&#xff1a; 2.2 国外研究现状&#xff1a; ​​​​​​​2.3 所用技术 3 系统需求分析 ​​​​​​​3.1 需求分析 ​​​​​​​3.2 可行性分析 3.2.1技术可行性分析 3.2.2市场可行性分析 3.2.3经济可…...

大学生就业平台微信小程序

随着计算机技术的成熟&#xff0c;互联网的建立&#xff0c;如今&#xff0c;PC平台上有许多关于大学生就业方面的程序&#xff0c;但由于使用时间和地点上的限制&#xff0c;用户在使用上存在着种种不方便&#xff0c;而开发一款大学生就业平台微信小程序&#xff0c;能够有效…...

Redis 缓存击穿

目录 缓存击穿 什么是缓存击穿&#xff1f; 有哪些解决办法&#xff1f; 缓存穿透和缓存击穿有什么区别&#xff1f; 缓存雪崩 什么是缓存雪崩&#xff1f; 有哪些解决办法&#xff1f; 缓存预热如何实现&#xff1f; 缓存雪崩和缓存击穿有什么区别&#xff1f; 如何保…...

初探鸿蒙:从概念到实践

一、鸿蒙开发的环境准备 开发工具&#xff1a;使用 DevEco Studio&#xff0c;支持 ArkTS 语法。 系统要求&#xff1a;确保计算机符合 DevEco Studio 的最低系统需求。安装步骤&#xff1a;下载 DevEco Studio&#xff0c;安装合适的 SDK 和模拟器 二、鸿蒙应用可以…...

PHP API的路由设计思路

PHP API的路由设计是构建高效、可维护API的关键环节。以下是一套完整的PHP API路由设计思路&#xff1a; 一、明确设计原则 使用统一资源标识符&#xff08;URI&#xff09;&#xff1a;通过URI来标识资源&#xff0c;确保每个资源都有一个唯一的地址。使用HTTP方法&#xff…...

工程师 - 如何访问Github

Github无法访问&#xff0c;涉及到IP地址、Host文件、DNS等配置。 1&#xff0c;查找github地址 打开https://www.ipaddress.com/网站&#xff0c;这个网站首页是查询自己IP的。 在上方搜索栏输入github.com&#xff0c;查找github的地址。 https://www.ipaddress.com/websit…...

222. 完全二叉树的节点个数 迭代

222. 完全二叉树的节点个数 已解答 简单 相关标签 相关企业 给你一棵 完全二叉树 的根节点 root &#xff0c;求出该树的节点个数。 完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0…...

中心极限定理的三种形式

独立同分布的中心极限定理&#xff1a; 设 X 1 , X 2 , … , X n X_1, X_2, \ldots, X_n X1​,X2​,…,Xn​是独立同分布的随机变量序列&#xff0c;且 E ( X i ) μ E(X_i) \mu E(Xi​)μ&#xff0c; D ( X i ) σ 2 > 0 D(X_i) \sigma^2 > 0 D(Xi​)σ2>0存在…...

React Native 全栈开发实战班 - 导航栈定制

在 React Native 应用中&#xff0c;导航栈管理是实现页面跳转和状态维护的核心机制。React Navigation 提供了强大的导航栈管理功能&#xff0c;允许开发者灵活地控制页面堆栈、传递参数、处理返回逻辑等。本章节将深入探讨导航栈的管理与定制&#xff0c;包括如何控制导航栈、…...

扬州BGP高防服务器可以给企业带来哪些好处?

扬州BGP服务器是目前江苏较为出名的高防机房&#xff0c;随着网络安全逐渐被企业所重视&#xff0c;扬州机房的也被大家进行选择&#xff0c;但是扬州BGP高防服务器除了可以帮助企业抵御网络攻击&#xff0c;还有着其他的帮助&#xff0c;下面就让我们来了解一下吧&#xff01;…...

题目讲解15 合并两个排序的链表

原题链接&#xff1a; 合并两个排序的链表_牛客题霸_牛客网 思路分析&#xff1a; 第一步&#xff1a;写一个链表尾插数据的方法。 typedef struct ListNode ListNode;//申请结点 ListNode* BuyNode(int x) {ListNode* node (ListNode*)malloc(sizeof(ListNode));node->…...

leetcode92:反转链表||

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], left 2, right 4 输出&#xff1a;[1,4,3,2…...

arkUI:遍历数据数组动态渲染(forEach)

arkUI&#xff1a;遍历数据数组动态渲染&#xff08;forEach&#xff09; 1 主要内容说明2 相关内容2.1 ForEach 的基本语法2.2 简单遍历数组2.2 多维数组遍历2.4 使用唯一键2.5 源码1的相关说明2.5.1 源码1 &#xff08;遍历数据数组动态渲染&#xff09;2.5.2 源码1运行效果 …...

js中import引入一个export值可以被修改。vue,react

import引入的数据实际就是数据本身。 如果导出的是一个对象&#xff0c;该对象引入后被更改了&#xff0c;则会影响其他文件引入此对象 解释示例&#xff1a; // resources.js const obj {} export {obj} 当在a.js中import引入一个空对象obj&#xff0c;并且新增一个属性ob…...

PDF24:多功能 PDF 工具使用指南

PDF24&#xff1a;多功能 PDF 工具使用指南 在日常工作和学习中&#xff0c;PDF 是一种常见且重要的文档格式。无论是查看、编辑、合并&#xff0c;还是转换 PDF 文件&#xff0c;能够快速高效地处理 PDF 文档对于提高工作效率至关重要。PDF24 是一款免费、功能全面的 PDF 工具…...

域名解析线路类型有哪几种

在网络世界中&#xff0c;域名解析是将域名转换为IP地址的关键环节&#xff0c;而域名解析线路类型的不同则为域名解析提供了多样化的策略&#xff0c;以满足不同用户和网络环境的需求。以下是几种常见的域名解析线路类型。 电信线路 电信线路解析主要是针对中国电信网络用户…...

Spring资源加载模块,原来XML就这,活该被注解踩在脚下 手写Spring第六篇了

这一篇让我想起来学习 Spring 的时&#xff0c;被 XML 支配的恐惧。明明是写Java&#xff0c;为啥要搞个XML呢&#xff1f;大佬们永远不知道&#xff0c;我认为最难的是 XML 头&#xff0c;但凡 Spring 用 JSON来做配置文件&#xff0c;Java 界都有可能再诞生一个扛把子。 <…...

[运维][Nginx]Nginx学习(2/5)-Nginx高级

Nginx服务器基础配置实例 前面我们已经对Nginx服务器默认配置文件的结构和涉及的基本指令做了详细的阐述。通过这些指令的合理配置&#xff0c;我们就可以让一台Nginx服务器正常工作&#xff0c;并且提供基本的web服务器功能。 接下来我们将通过一个比较完整和最简单的基础配…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台

🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...