bubble的备忘录

本blog主要用于常用资料的备忘、备份、备搜索

已刻电视剧&动画片&漫画

i:
|   `-- [Comic][Tsubasa-翼][CLAMP][1-233 END]
|   |-- [Comic][Tsubasa-翼]100~150.rar
|   |-- [Comic][Tsubasa-翼]151~200.rar
|   |-- [Comic][Tsubasa-翼]201~233+番外.rar
|   `-- [Comic][Tsubasa-翼]Vol~13.rar
|-- [WOLF字幕组]XXXholic&翼OVA
|   |-- [WOLF字幕组&狼集字幕组][xxxHOLic_春梦记前篇][Jp_Cn][R10][704X480].rmvb
|   |-- [WOLF字幕组][xxxHOLic_春梦记后篇][Jp_Cn][R10][864X480].rmvb
|   |-- [WOLF字幕组][翼 春雷记_Tsubasa Shunraiki][后篇][Jp_Cn][R10][864X480].rmvb
|   `-- [WOLF字幕组][翼 春雷记_Tsubasa Shunraiki][前篇][Jp_Cn][R10][864X480].rmvb
|-- 捆龙索
|   |-- 捆龙索1.rm
|   |-- 捆龙索2.rm
|   |-- 捆龙索3.rm
|   |-- 捆龙索4.rm
|   |-- 捆龙索5.rm
|   |-- 捆龙索6.rm
|   |-- 捆龙索7.rm
|   |-- 捆龙索8.rm
|   `-- 捆龙索9.rm
|-- 王都妖奇谭1~32+番外end
|   |-- 王都妖奇谭 01~10.rar
|   |-- 王都妖奇谭 11~20.rar
|   `-- 王都妖奇谭21~32+番外.rar
`-- 西洋古董洋果子店 1~7完.rar

4 directories, 21 files

(i++)+(++i)+(i++),这是个罪恶的语句

面对有很多i++,++i叠加起来的语句,比如:(i++)+(++i)+(i++)
1. 先将所有的 i++ 改成 i ,然后在整个语句的最后,统一将 i 自增相应的次数(语句中有几个 i++,就在最后自增几次)。我们的例子,这时会变成 i+(++i)+(++i)+i+i; i++; i++; i++;
2. 按照加法的结合性,先将左起前两项相加。如果前两项中含有 ++i,则先算 ++i;
3. 前两项的和作为一项,与第三项相加,以此类推。同样,遇到 ++i,就先算 ++i。

以上就是编译器处理这种语句的规律,当然,这并不是C语言定义的,只是编译器在出错情况下的无奈之举。大家可以用这个方法来解题,下面我就回答昨天一位同学问我的问题:

i=5; 求 (i++)+(++i)+(i++) 的值

按上面的方法做:
1. 先把i++换到最后面,变成 i + (++i) + i ; i++; i++;
2. 从左到右累加,先拿出前两项 i + (++i)。先算 ++i,i 的值变成6,两项相加得12;
3、计算 12 +i,得18。

【重点】
1、将所有的i++改成i,然后在整个语句的最后,统一将 i 自增相应的次数
2、在算加法的时候,如果两项中含有++i,则先算 ++i