非空终止字符数组

2024-02-15

#include <stdio.h>

char s[3] = "Robert";
int main()
{
    printf("%s",s);
}

Output: Rob

如何正确打印此内容?该字符串不是以 null 结尾的。 我看到了集会。它使用 .ascii 来存储非空终止的“Rob”。 我预计会与 Rob 一起打印一些垃圾。 有人可以向我解释这种行为吗?


您的“Rob”已存储在可执行文件的额外部分中。可执行文件中的各个部分是对齐的,即包含数据的部分用 0 填充,直到下一个部分。所以 printf 从节填充中得到“它的”0。为了显示:

#include <stdio.h>

char dummy[] = "ocop";
char s[3] = "Robert";
char second[] = "in Hood";
int main( void )
{
    printf("%s",s);
    return 0;
}

输出(MinGW-GCC 未优化):Robin Hood
输出(经过优化的 MinGW-GCC):Robocop

现在填充中不再有 0,而是也将输出的下一个字符串的开头。

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

非空终止字符数组 的相关文章

  • C# 静态类型不能用作参数

    public static void SendEmail String from String To String Subject String HTML String AttachmentPath null String Attachme
  • 与 for_each 或 std::transform 一起使用时,如何调用 C++ 函子构造函数

    我以前从未使用过 C 函子 所以我只是想了解它们是如何工作的 例如假设我们有这个函子类 class MultiplyBy private int factor public MultiplyBy int x factor x int ope
  • 捕获 .aspx 和 .ascx 页面中的异常

    问题说明了一切 请看以下示例代码 ul li li ul
  • strlen() 编译时优化

    前几天我发现你可以找到编译时strlen使用这样的东西 template
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 对于 C# Express 用户来说,有哪些好的工具可以识别可能重复的代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也可以看看 有什么工具可以检查重复的 VB NET 代码吗 https stackoverflow c
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • 使用Java检索URL中的参数

    我有一个使用 XSL 和 XML 生成 PDF 的小 Servlet 因为我想通过 URL 指定文件 所以我需要从那里获取这些参数 localhost Servlet xml c xml test xml xsl c xsl test xs
  • 如何从 ASP 页运行 sqlcmd.exe?

    作为数据库修订控制 和自动安装 过程的一部分 我们需要能够在 ASP 页面内对各种 sql 文件运行 sqlcmd exe 我用来执行此操作的代码是 Dim cmd cmd sqlcmd S DATABASE SERVER U DATABA
  • 客户端程序验证 SSL_get_peer_certificate 返回的服务器证书?

    我有一个使用 C 编程语言中的 OpenSSL 的 SSL TLS 客户端程序 我正在寻找验证服务器证书的方法 X509 返回者SSL get peer certificate函数调用 另外 我还使用加载了自己的 CA 证书SSL CTX
  • MongoDB GetCollection 方法是否将整个集合加载到 RAM 或引用中? C#

    我有一个存储库类 用于处理 MongoDB 的所有数据库函数 这是构造函数的实现 public LocationRepository string connectionString if string IsNullOrWhiteSpace
  • 为什么“convert x.png y.png”会创建不同大小 (KB) 的图像?

    我有一些图像 我试图通过调整它们的大小来将它们标准化到一定的比例 当我开始调整图像大小时 我注意到它们的体积 KB 变得比原始图像大得多 我通过简单地执行以下操作进一步检查了它 转换 x png y png 并得到了一些差异 例如 在一种情
  • 通过 YouTube API 上传时,视频文件卡在 0%

    正如标题所示 视频文件可以通过 YouTube 的上传功能上传和处理 然而 当我尝试以编程方式上传它 通过 OAuth2 和 YouTube API v3 时 它总是陷入 0 的处理状态 SO 上有 youtubers 吗 有没有专门的论坛
  • 如何将项目添加到 NavigationView 中的菜单组

    在 Android 的文字游戏中 我目前有一个硬编码菜单 由left drawer menu xml并由 3 组组成 我的回合 对手的回合以及最后的其他内容 mLeftDrawer NavigationView findViewById R
  • 存储枚举 MongoDB

    我在 Mongo 数据库中存储每个用户的排名 管理员 版主 用户 和成就等枚举 据我所知 Mongo 没有枚举数据类型 这意味着我必须使用其他类型来存储它 我曾想过使用整数来存储它 我认为它比存储可以轻松表示为整数的所有内容的字符串占用的空
  • MySQL 导出/导入中特殊字符丢失

    我正在尝试将 MySQL 3 23 58 数据库移动到运行 5 5 19 的其他服务器 旧的指定了 latin1 编码 据我所知 底层数据确实是 latin1 我尝试了很多事情 主要是 使用 mysqldump 和 latin1 编码标志从
  • java中如何让线程休眠特定时间?

    我有一个场景 我希望线程休眠特定的时间 Code public void run try do something Thread sleep 3000 do something after waking up catch Interrupt
  • 异步 WCF 方法 WebOperationContext 在等待后为 null

    在以下示例中 该方法公开为 WCF 服务操作 并且该服务托管在 IIS 中 进入该函数时 WebOperationContext Current 将按预期设置 然而 等待完成等待后 WebOperationContext Current 将
  • 如何使用CSS在占位符中获取星号

    I want to add an asterisk mark to placeholder of inputs Something like this 我已经搜索过互联网但找不到有效的解决方案 我目前的做法 目前我正在尝试将其添加到 aft
  • 很好的黄瓜教程,不依赖于 Rails [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个好的黄瓜教程 它不会强迫我使用 Rails 有什么好的建议吗 我相信Rspec 书 ht
  • 您指定了正确的主机或端口吗? Kubernetes 上的错误

    我已经按照 hello world 教程进行了操作http kubernetes io docs hellonode http kubernetes io docs hellonode 当我跑步时 kubectl run hello nod
  • ggplot2scale_x_连续限制或绝对

    我在循环中使用以下 ggplot2 v0 9 scale x continious 逻辑 按县名称 试图将每个县的数据绘制在具有相同 x 比例的单独图上 MaxDays 365 3 p lt p scale x continuous lim
  • 如何强制 IntelliJ 使用 Maven 下载 javadocs?

    我对项目结构中的一些 Maven 条目有以下描述 文件系统中确实不存在 Javadoc 文件 同时 它存在于中央存储库中 为什么没有下载 如何强制下载 UPDATE 这些选项已经开启 设置后尝试重新编译 关闭 打开等 单击IntelliJ右
  • ARM 皮质:使用位带的互斥体

    鉴于此 在 ARM Cortex M3 上 我可以 原子地读取一位 原子地设置一位 原子地清除一位 如何将这些组合起来形成互斥体样式的操作集 try lock take lock release lock 看起来try lock or ta
  • python 中使用 pandas dataframe 和 statsmodels 或 scipy 进行方差分析?

    我想使用 Pandas 数据框来分解一个变量的方差 例如 如果我有一个名为 度 的列 并且我已针对各种日期 城市以及夜间与白天对其进行了索引 那么我想找出该系列中的变化中有多少部分来自横截面城市变化 有多少来自时间序列变化 有多少来自夜间与
  • CSS:#id .class VS .class 性能。哪个更好?

    我认为这会更快 dialog videoContainer width 100px than videoContainer width 100px 当然不考虑这一点 videoContainer在第一个示例中 只会在以下样式下设置样式 di
  • 非空终止字符数组

    include