直接说主题
有六种情况,每循环一次,判断其属于哪种,然后进行计算,应该用哪种方法呢?
for(j=0;j<1000;j+=)
{
  if(i==a)
   {
    ******
   } 
  else if(i==b)
   {
     *****
    }
  else
   {
    ******
    }
这种可以吗?

解决方案 »

  1.   

    switch的话我试过了,不行啊不知道是不是我的控件的问题,反正,用switch的话第2种和第四种情况就是错误的
      

  2.   

    不知道这里涉及什么控件反正
    SWITCH 和 IFELSE都OK
      

  3.   

    没道理啊,switch应该可以的啊。你看看你第2种和第4种情况里面报的是说明错误
      

  4.   

    你看我可以这样吗?
    if(i==a||b||c)
      {
        if(i==a)
         {}
        else if(i==b)
         {}
         else
          {}
       }
    else if(i==x||y||z)
        {
        if(i==x)
         {}
        else if(i==y)
         {}
         else
          {}
       }
      

  5.   

    照你写的这些代码看switch..case语句是可以的,你的***好抽象啊,再贴些代码
      

  6.   

    非要用if..else 不是不可以
      

  7.   

    if(i==a||b||c) 
      { 
        if(i==a) 
        {取坐标
         改坐标    
        } 
        else if(i==b) 
        {取坐标
         改坐标} 
        else 
          {取坐标
         改坐标} 
      } 
    else if(i==x||y||z) 
        { 
        if(i==x) 
        {取坐标
         改坐标} 
        else if(i==y) 
        {取坐标
         改坐标} 
        else 
          {取坐标
         改坐标} 
      }大概就是这个思路了,abcxyz代表的是图形的种类
      

  8.   

    这样是可以的,不过用switch简洁很多,可读性也好很多
      

  9.   

    if(i==a||b||c)
    请问这里怎么理解?
      

  10.   

    a,b,c 3种情况其中只要一个为1就进入if
      

  11.   

    貌似这个if(i==a||b||c) 这样写是有问题得
    ||优先级好像没有==高
      

  12.   

    应该写if((i==a)||(i==b)||(i==c))吧?
      

  13.   

    使用switch...case...结构的时候,case后面接的条件必须是常量,你这里的a、b如果不是常量(即变量或表达式)的话肯定是不行的,这涉及到编译时的代码生成。
      

  14.   

    switch (i)
    {
    case a:
    case b:
    case c:
       dosomething;
       break;case d:
       dosomething;
        break;
    default: break;
    }
      

  15.   

    推荐使用
    if()
    {
       ......
       return;
    }
    if()
    {
       ......
       return;
    }
    if()
    {
       ......
       return;
    }
      

  16.   


    对 我 也是这么想的,因为我的abcxyz都是变量。
    准备用heksn的return看看
    谢谢大家的指教哦
      

  17.   

    来个过度设计的方法:
    用state模式~ HOHO~
      

  18.   

    那个return的方法不行啊
    还有其他方法吗
    case方法肯定是不行的。因为我要选择的是变量啊
      

  19.   

    i==a||b||c这个不对,==的优先级大于||,所以这个的结果一直是true了。