大哥
您好,向您请教个这样的问题int a,b,c ;a = 1;
b = 1;
c = 1;if (a==1)
   {
    f1();
    }
else if (b==1)
   {
     f2();
    }
else if (c==1)
    {
      f3();
    }
     
     
请教:
现在
 f1();
 f2(); 
 f3();
 
 这 三 个都会执行吗?
 还是 只 运行 f1();如果我只希望运行 f1() 那要怎么写?
如果我只希望运行 f2() 那要怎么写?
 
谢谢!

解决方案 »

  1.   

    不会
    if 的条件满足,
    else 是不会执行的了...
      

  2.   

    以上只运行f1。有选择的运行可以用switch,当然也可以用if
    如用if:
    int a;
    a = ?;
    if(a == 1)
       ....
    else if (a == 2)
           .....
          else 
            ....用switch:
    switch(a)
    {
     case 1:
         ...
        break;
     case 2:
         ...
        break;
     default:
        break;
    }
      

  3.   

    只执行f1(),if   的条件满足, 就不执行else 如果你只想执行f2(),则只需要先判断b的值就好了,换一下地方即可if   (b==1) 
          { 
            f2(); 
            } 
    else   if   (a==1) 
          { 
              f1(); 
            } 
    else   if   (c==1) 
            { 
                f3(); 
            }