切换大小写表达式

2023-12-14

考虑一个表达式*(1+"AB" "CD"+1)

这个表达式的解法是什么?上面的表达式是C语言中的一个switch表达式。

*(2+"AB" "CD") --> *(2+"ABCD") --> ?

之后我应该做什么? 下面是代码片段:

#include<stdio.h>
void main(){
     switch(*(1+"AB" "CD"+1)){
        case 'A':printf("Pulp Fiction");
                  break;
        case 'B':printf("12 Angry Man");
                  break;
        case 'C':printf("Casabance");
                  break;
        case 'D':printf("Blood Diamond");
     }

}

卡萨班斯。

如果你有

char *cp;
int i;

then cp[i] == *(cp+i) == *(i+cp) == i[cp].

C11 6.5.2.1:

后缀表达式,后跟方括号 [] 中的表达式 是数组对象元素的下标名称。这 下标运算符 [] 的定义是 E1[E2] 等于 (*((E1)+(E2)))。

和 C11 6.5.6:

当对整数类型的表达式进行加法或减法时 对于指针,结果具有指针操作数的类型。如果 指针操作数指向数组对象的元素,并且数组 足够大,结果指向与 原始元素使得下标的差异 结果和原始数组元素等于整数表达式。

就编译器而言,字符串文字只是一个字符指针。

两个相邻的字符串文字自动连接成一个字符串文字:

C11 6.4.5:

在翻译阶段 6,由指定的多字节字符序列 任何相邻字符和相同前缀字符串的序列 文字标记连接成单个多字节字符 顺序。

So... *(1+"AB" "CD"+1) == *(1+"ABCD"+1) == *("ABCD"+1+1)==*("BCD"+1) == "BCD"[1] == 'C'.

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

切换大小写表达式 的相关文章

  • UTF8/UTF16 和 Base64 在编码方面有什么区别

    In c 我们可以使用下面的类来进行编码 System Text Encoding UTF8 System Text Encoding UTF16 System Text Encoding ASCII 为什么没有System Text En
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • fgets() 和 Ctrl+D,三次才能结束?

    I don t understand why I need press Ctrl D for three times to send the EOF In addition if I press Enter then it only too
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 像“1$”这样的位置参数如何与 printf() 一起使用?

    By man I find printf d width num and printf 2 1 d width num 是等价的 但在我看来 第二种风格应该与以下相同 printf d num width 然而通过测试似乎man是对的 为什
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 如何将字符串“07:35”(HH:MM) 转换为 TimeSpan

    我想知道是否有办法将 24 小时时间格式的字符串转换为 TimeSpan 现在我有一种 旧时尚风格 string stringTime 07 35 string values stringTime Split TimeSpan ts new
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • Predict_classes() 的函数式 API Keras 替代解决方案

    请参考here对于我之前的背景信息问题 按照answer建议来自纳西姆 本 我使用函数式 API 训练了双路径架构模型 现在我感到困惑 因为我需要预测每个像素的类别 这是相同的代码 imgs io imread test img astyp
  • 挂了还有问题吗?

    什么是 挂其他 问题 这个名字合适吗 我总是遵循 C 编码标准 忘了是哪一个 使用带有控制结构的括号 块 所以我不 通常会有这个问题 最后一个 其他属于 但为了理解可能出现的问题 外国代码如果能牢固地理解就好了 这个问题 我记得在一本关于
  • 在运行时更改 SetInterval 的间隔

    我编写了一个 JavaScript 函数 它使用 setInterval 每隔十分之一秒操作一个字符串 进行一定次数的迭代 function timer var section document getElementById txt val
  • 如何在Python 2中通过线程充分利用CPU核心

    下面的代码似乎是顺序执行的 而不是并发执行的 而且它只使用了一个CPU核心 有没有办法让它使用多个核心或在线程之间切换内容 我希望它能像java中的Thread类一样工作 import threading def work s for i
  • 如何在Java中检查2个日期是否在同一天

    我有 2 个日期变量 Date1 和 Date2 我想检查日期 1 是否与日期 2 属于同一日期 但允许它们有不同的时间 我该怎么做呢 这看起来是一件很容易做的事情 但我却很困难 编辑 我想避免外部库和东西 编辑 我最初的想法是删除小时 分
  • 运行 sonarrunner 时未找到类错误

    我收到类未找到错误 该类无法通过类加载器访问 并且从 gradle 运行 sonarrunner 时会提示错误 这些类作为依赖项包含在 gradle 的编译时 并且 gradle 构建工作正常 如何为声纳包含这些类 14 53 24 322
  • 如何处理多个xml标准? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在尝试将一组本地包装类写入我们的机构 API 我在一所高等教育机构工作 这些
  • Android 无法加载本地 libcrypto 未满足的链接错误

    我需要在我的应用程序中运行比操作系统中版本更新的 openssl 版本 我能够修补和 Android 源代码以编译较新的版本 然后提取共享库以在我的应用程序中使用 然后 我能够编译并链接我的本机代码 该代码仅需要较新版本的 openssl
  • 部署具有所有包依赖项的 Python Cloud Function

    我想部署一个不依赖于使用 requests txt 来安装软件包的云功能 我希望这些包可以在存储中使用 或者作为功能的一部分进行压缩和上传 这可能吗 编辑 2019 年 6 月 14 日 基本上我想用我的代码发送 numpy 和 panda
  • 使用 Node.js 在 html 表中显示 mysql

    我正在学习如何将node js 与mysql 一起使用 我试图找到一些好的文档 但徒劳无功 我现在可以在浏览器中显示 mysql 数据 但我想在某个时候通过我的 index html 和 css 文件来处理它 这是我的 app js mod
  • 如何在 iframe 的本地范围内执行注入的 javascript 代码?

    我在 iframe 中加载了一个 html 文档 我已经用 javascript 为该文档开发了一些弹出菜单代码 并将代码从主文档注入到 iframe 中 但我的代码在 iframe 中不起作用 因为它使用了 document 对象 令人惊
  • 如何覆盖 UISearchDisplayController searchResult TableView 中的“无结果”文本?

    我不想在我的服务器处理搜索查询时显示 无结果 文本 我找出了包含标签的表格单元格的确切坐标 并尝试覆盖它 self noResultsCoverView UIView alloc initWithFrame CGRectMake 0 0 4
  • DocumentFilter 的正则表达式可以匹配所有十进制数字,也可以匹配末尾只有一个小数的数字

    先问问题 我需要正则表达式来匹配111 or 111 or 111 111 只是任意数字 DocumentFilter 我需要用户能够输入111 with a decimal之后什么也没有 似乎无法正确处理 我发现所有正则表达式都匹配all
  • 正则表达式中间的前瞻不匹配

    我有一根绳子 s1 a b 我想匹配这个字符串但只捕获字母 我尝试使用前瞻 if s1 a z a z print Captured 1 2 n 但这似乎与我的字符串不匹配 我已经通过使用解决了原来的问题 相反 但我很好奇为什么我最初的尝试
  • 如何将在Python中创建/更新的Google工作表保存到特定文件夹?

    我有这个代码 from google colab import auth auth authenticate user import gspread from oauth2client client import GoogleCredent
  • 如果struct A嵌入到B中,A上的方法可以访问B的方法和字段吗?

    struct A func a A BName id int string return a Name struct B A Name string func main b B Name abc fmt Println b Name 代码失
  • 如何快速使用prepareForSegue?

    我有一个带有名为 BasicPhrasesVC 的表视图的 ViewController 我想传递所选单元格中的数据以将其显示在下一个 ViewController 称为 BasicPhrasesVC 上 class BasicPhrase
  • 如何将 n*1 矩阵转换为 n*n 对角矩阵

    我有一个 nx1 矩阵我想将其转换为 R 中的 nxn 对角矩阵 正如 Ben Bolker 所建议的 您可以简单地使用定义您的单位矩阵diag my matrix lt diag 0 25 4 my matrix 1 2 3 4 1 0
  • 如何使用多个隔离来服务请求

    如何设置 Dart 服务器以使用所有可用核心来处理即将到来的请求 例如 通过使用多个隔离来服务请求 Use the shared true的论证HttpServer bind 例子 import dart io import dart is
  • 切换大小写表达式

    考虑一个表达式 1 AB CD 1 这个表达式的解法是什么 上面的表达式是C语言中的一个switch表达式 2 AB CD gt 2 ABCD gt 之后我应该做什么 下面是代码片段 include