当前位置: 首页 > 面试题库 >

为什么此代码不简单地将字母A打印到Z?

陆信瑞
2023-03-14
问题内容
此代码段给出以下输出(换行符由空格代替):

问题答案:

从文档:

当处理字符变量而非C的算术运算时,PHP遵循Perl的约定。

例如,在Perl 'Z'+1变成'AA',而用C 'Z'+1变成'['ord('Z') == 90ord('[') == 91)。

请注意,字符变量可以递增但不能递减,即使如此,仅支持纯ASCII字符(az和AZ)。

还应该注意的<=是,按字典顺序比较'z'+1 ≤ 'z'。(自从开始'z'+1 = 'aa' ≤ 'z'。但是,这'za' ≤ 'z'是第一次比较不正确。)$i == 'z'例如,中断何时可以工作。



 类似资料:
  • 问题内容: 我一定缺少关于goroutine的一些基本知识,但是我环顾四周,我看不到任何原因无法解决这个问题。 问题答案: 您的程序在goroutines有机会运行之前已经完成。 这是带有WaitGroup的代码: https://play.golang.org/p/lmCPU9-qkB

  • 问题内容: 以下打印语句将打印“ hello world”。有人可以解释吗? 而且是这样的: 问题答案: 当使用特定的种子参数(在这种情况下为或)构造的实例时,它遵循以该种子值 开头 的随机数生成算法。 每个使用相同种子构造的对象每次都会生成相同的数字模式。

  • 问题内容: 我想知道当您尝试捕获StackOverflowError并提出以下方法时会发生什么: 现在我的问题是: 为什么此方法打印“ 4”? 我以为是因为在调用堆栈上需要3个段,但是我不知道3的来源。当您查看的源代码(和字节码)时,通常导致的方法调用要多于3(因此,调用堆栈上的3个段是不够的)。如果是由于优化而应用了Hotspot VM(方法内联),我想知道其他VM上的结果是否会有所不同。 编辑

  • 上面的片段结果是x=1,y=10,z=3,请解释这段代码。提前致谢

  • 问题内容: 我有一个类,我们称它为Cls,其中包含一些值。当我使用声明为的Gson实例并将其用于序列化Cls对象并将结果JSON字符串打印到控制台时,我得到了格式正确的格式,如下所示: 这一切都很好,但是当我然后创建一个JsonWriter(从具有绝对路径的FileWriter)并使用带有Cls 的Gson实例的方法时,生成的文件就不会得到很好的格式化。相反,它看起来像这样: 这打败了漂亮印刷的全

  • 问题内容: 为什么这段代码不抛出?它在不使用方法的情况下修改了一段时间,这是唯一安全的删除方法。 如果将替换为,则会得到相同的结果。但是,如果我将列表更改为或只是得到了预期的异常。到底是怎么回事?我正在使用是否相关。 编辑 我找到了以下链接 http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4902078 相关部分是 天真的解决方案是将协同修改