检查IOCCC中的这个混淆代码.我试图理解这一点.
int i;main(){for(;i["]手段:
int i; main() { for(;i["]请解释一下:
i["]
这如何作为一个条件陈述?
1> ShadowRanger..:C索引有点时髦.
a[b]
大致相当于*(a+b)
(a
降级为指向第一个元素的指针).但是,加法是可交换的,所以a[b]
和b[a]
做同样的事情.从而:i["]真的只是:
"]但如果错过引号,重新排序会使它看起来像一个标准化的循环.由于除了
NUL
终结符之外,字符串中的所有值都不为零(因此为"true"),因此当i
等于该字符串文字的长度时,循环将结束.