if-else-if

我们平时在写代码的时候经常这样写:

 1 if ((!access(path[0], F_OK)) && (fpga_cs == 1))
 2  {
 3      printf("%s file fpga_a is exist.\n",path[0]);
 4      fpga_path = path[0];
 5 }
 6 else if ((!access(path[1], F_OK)) && (fpga_cs == 2))
 7 {
 8     printf("%s file fpga_b is exist.\n",path[1]);
 9     fpga_path = path[1];
10 }
11 else if (!access(path[2], F_OK))
12 {
13     printf("%s file fpga_all is exist.\n",path[2]);
14     fpga_path = path[2];
15 }

或者

 1 if ((!access(path[0], F_OK)) && (fpga_cs == 1))
 2  {
 3      printf("%s file fpga_a is exist.\n",path[0]);
 4      fpga_path = path[0];
 5 }
 6 if ((!access(path[1], F_OK)) && (fpga_cs == 2))
 7 {
 8     printf("%s file fpga_b is exist.\n",path[1]);
 9     fpga_path = path[1];
10 }
11 if (!access(path[2], F_OK))
12 {
13     printf("%s file fpga_all is exist.\n",path[2]);
14     fpga_path = path[2];
15 }

那么这两种究竟有什么区别呢?小编最近就大意踩了这个坑,或许可以分享给初学者

1、如果你使用的是if-else-if的时候

级联的 if-else-if 多分支结构的执行流程是:从前往后计算各个表达式的值,如果某个表达式的值为真,则执行对应的语句,并终止整个多分支结构的执行

2、如果你使用的是if-if-if 的时候

这里的每个if都会执行一遍,都执行完结束才会终止

 

posted on 2019-08-04 17:22  杰—杰  阅读(162)  评论(0)    收藏  举报

导航