为什么 strcpy 没有分段错误? [复制]

2023-12-07

可能的重复:
未定义、未指定和实现定义的行为

这应该是段错误。为什么不呢。

    #include <string.h>
    #include <stdio.h>

    char str1[] = "Sample string. Sample string. Sample string. Sample string. Sample string. ";
    char str2[2];

    int main ()
    {
      strcpy (str2,str1);
      printf("%s\n", str2);
      return 0;
    }

我使用 gcc 版本 4.4.3 和以下命令:

    gcc -std=c99 testString.c -o test

我还尝试将优化设置为 o (-O0)。


这应该是段错误

没有理由它“应该”出现段错误。代码的行为是未定义的。这并不意味着它一定会崩溃。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 strcpy 没有分段错误? [复制] 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 如何在Electron框架中使用html模板?

    我需要构建一个具有多个窗口的跨平台应用程序 所以我想知道如何在Electron中使用html模板 基于类似的问题据我所知 Electron 中没有内置的 html 模板语言 这实际上很棒 因为它允许您使用任何其他模板语言 我目前正在玩ejs
  • 使用远程计算机通过 JupyterLab 打开网站(类似于代理)

    我通过连接SSH到正在运行的远程计算机JupyterLab 当我在中运行以下代码时JupyterLab我看到我的本地计算机的 IP 地址 from IPython display import IFrame IFrame src https
  • 如何在 Android 中的列表视图中显示 Dropbox 文件?

    我已经在这里浏览答案有一段时间了 并在我的代码中使用了大部分答案 但它似乎仍然不起作用 我只想显示 Dropbox 帐户中内容的列表视图 并为用户提供下载文件 文件夹的选项 我的 MainActivity 过去常常在打开后立即崩溃 用处理
  • 如何使用 CURL 请求构建、准备和设置 JWT 授权承载令牌

    为了发送和接收授权持有人 我确实阅读了此内容使用 cURL 设置 Bearer 令牌的正确方法和这个如何正确使用 Bearer 代币 这是我的代码 url http www example com phpinfo php data arra
  • 从不可变类型继承[重复]

    这个问题在这里已经有答案了 我想知道继承是如何运作的int list string和其他不可变类型 基本上我只是继承一个这样的类 class MyInt int def init self value 我似乎无法弄清楚 如何设置像它所设置的
  • DataGridView 的自定义单元格绘制的文本溢出

    这是我的细胞绘画方法 DataGridView grid DataGridView sender if e RowIndex 1 e ColumnIndex 1 return if grid Rows e RowIndex Cells e
  • XAML 数据绑定类单例 MVVM 对象

    NOTES 我是一个菜鸟 有时我会陷入简单和 或愚蠢的想法 这就是其中之一 我了解了数据绑定的一般概念 我已经浏览了网上的一些教程 并通过大量文本在谷歌上搜索了几个小时 这只是让我有点困惑 PROBLEM 我正在尝试Windows Phon
  • 输入“=”作为单元格中的第一个字符

    我有一个正在运行的 VBA 宏 并且通常需要将 作为单元格中的第一个字符 单元格中填充有 Domestic Domestic 等值 现在 我将 替换为 IS 作为快速修复 但如果我可以保留等号 我希望它能够与使用 等符号的单元格保持一致 当
  • 使用 GWT 上传前检查文件大小

    我正在使用 FormPanel 将文件上传到服务器 我想做的是在上传之前确保文件大小小于给定大小 例如 10MB 在服务器端 我有一个 javax servlet http HttpServlet 我在其中重写 doPost 这里 Http
  • Golang 依赖管理最佳实践

    在Golang中 我们可以指定GitHub上的开源库作为依赖项 例如 import github com RichardKnop somelibrary 这将尝试根据您的 Go 版本查找分支 如果我理解正确的话 默认为 master 因此无
  • 在php中写入exif数据

    我正在尝试创建一个网站 可以在其中添加和修改 JPEG 文件中的元数据 有没有一种方法可以让我以相当简单的方式写入 exif 数据 我见过一两个例子 但它们太复杂 在我给出的时间范围内无法掌握 我了解 IPTC 并且我知道可以将元数据添加到
  • 查看 div 是否包含一个或多个输入的单词(Javascript)

    我想检查是否有任何 div 包含在输入字段中输入的所有单词 然而 目前我陷入了这样一种情况 一旦输入空格 它就会重新开始 因此有点像 OR 运算符而不是 AND 运算符 有人可以把我推向正确的方向吗 多谢 这是我到目前为止所拥有的 div
  • Python:如何在Python中运行嵌套并行进程?

    我有一个数据集df交易者的交易 我有 2 个级别的 for 循环 如下所示 smartTrader for asset in range len Assets df df df Assets asset I have some more c
  • 简单的 Ajax/Codeigniter 请求

    我在使用 ajax 和 codeigniter 时遇到一些问题 我已经发布了另一个问题 问题链接 我以为我解决了它 但我没有 所以我要求某人用 ajax codeigniter 编写简单的代码 这将在点击时增加 div span 内的数字
  • 类组件内的react-router-dom useParams()

    我正在尝试加载基于react router dom 路由的详细信息视图 该路由应该获取URL 参数 id 并使用它来进一步填充组件 我的路线看起来像 task id我的组件加载得很好 直到我尝试从 URL 中获取 id 如下所示 impor
  • 使用 try/catch 无意中拦截 Mnesia 的事务重试会导致各种奇怪的情况

    因此 我在一次事务中对记录集进行 CRUD 操作时遇到了各种麻烦 这导致我在这里发布两个问题 Trouble and 更多麻烦 However 我认为这两个问题都是由以下原因造成的 在我的事务中 我将 mnesia writes reads
  • Magento 使用安装脚本添加属性

    我遵循了一些教程并编写了这段代码 这是install 0 1 0 php installer this installer gt startSetup allowCP array group gt Prices type gt text a
  • 升级 pip 失败,并因 sys.stderr.write(f"ERROR: {exc}") 导致语法错误

    在使用 box Bento centos 7 的新 Vagrant VM 上 以下命令损坏了我的 pip 安装 yum update yum install epel release y yum install python pip y u
  • 插入表情符号不适用于 spring-boot 和 MariaDB

    我想在 mariaDB 数据库中插入像 这样的表情符号 但我总是收到 sql 错误 这是堆栈跟踪 12 01 2018 16 01 44 466 Executor Migration 1 WARN o h e jdbc spi SqlExc
  • 为什么 strcpy 没有分段错误? [复制]

    这个问题在这里已经有答案了 可能的重复 未定义 未指定和实现定义的行为 这应该是段错误 为什么不呢 include