- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 C 编程的初学者,我正在编写一个简单的程序来将字符串加密为 rot13 Ceaser 密码。现在,我知道如何在 C 中转换 float 和整数,但我真的不知道下面的字符会发生什么:
我这样做 char test = 'A' + 13;
我得到 N
作为输出。很好!!但是怎么办? `下面发生了什么?我的猜测是“A”被转换为整数,两者都被添加,然后最后答案再次被转换为一个字符。为什么会这样?
最佳答案
在C语言中,char
等类型是数字,'A'
是一种迂回的写法,int
值65(提供您的字符集是 ASCII,在所有现代平台上都是如此)。因此,表达式 'A' + 13
等同于 65 + 13
,其结果被强制转换为 char
,即左侧的类型-赋值运算符的手边。
换句话说,不是 'A'
被转换为 int
,而是 65 和 13 的 int
之和转换为 char
。
关于对带有字符的 C 类型类型转换感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24721949/
我正在尝试学习Rust。我正在阅读一本书online,该书实现了unix程序cat。现在,我试图读取作为像cargo run file1.txt file2.txt这样的参数传递的文件的内容,但是程序
我在 GHC 8.0.1 中遇到了一个带有种类索引 (?) GADT 的奇怪情况,其中在类型与种类签名中引入 foralls 会产生不同的类型检查行为。 考虑以下数据类型: {-# LANGUAGE
我正在使用 Perl 5.10 开发应用程序,HTML::Mason和 Apache 2.2。这是我第一次在大型项目中使用 Perl 5.10。我每隔一段时间就会出现奇怪的行为。应用程序因一个非常奇怪
我正在尝试将文件上传到aws中的rust中,因为我使用的是 rusoto_s3 的s3 rust客户端,当这些部分从单个线程发送时,我设法使分段上传代码正常工作不是我想要的,我想上传大文件,并且希望能
我是一名优秀的程序员,十分优秀!