从技术上讲,这在C语言中对于访问argv(argv[65]
)的元素有效。
编辑:正如John Ballinger在评论中指出的那样,仅当C实现将字符文字映射到其ASCII值时,这才是标准要求的。但是,大多数C实现都这样做,因此我假设代码的作者正在使用此假设。
这是因为在C语言中,所有字符文字都可以充当数字文字。
当然,如果您期望argv中有65个以上的元素,则可能出了问题。即便如此,除非您将argv与字母进行特定的关联,否则对索引65和66 使用'A'
和'B'
并没有意义。
TL; DR它是一个索引,但是代码异常异常,并且可能被故意混淆了
从技术上讲,
argv
访问哪个元素取决于实现。不需要使用ASCII将字符映射为整数的实现,有些则不需要。“所有字符文字都可以充当数字文字”。字符字面量始终具有类型
int
。@Gerhardh。是的,但是很多人忘记了char是整数数字类型。所以我只是明确地指出了这一点。