在c语言里,int num=1; if(num==2)与if(2==num)两个判断句哪个更好?为啥?还有更好的办法么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c语言里,int num=1; if(num==2)与if(2==num)两个判断句哪个更好?为啥?还有更好的办法么?相关的知识,希望对你有一定的参考价值。

if(2==num)更好,像这样的判断一般有经验的程序员都会写if(常量==变量),因为这样写一旦写掉了一个“=”,在编译的时候就会检查出语法错误,编译无法通过,而写成if(变量==常量),即使写掉了一个“=”编译也会通过,没有语法错误,但是却是逻辑错误,在大程序中这种错误是很难检查出来的。 参考技术A 效果一样,if(num==2)更符合表述习惯而已。
if((num&2)>0)也是可以的。
参考技术B 后面的好,防止手误写成= 参考技术C 后者好,后者表述可以了,初学者的话会用一般表述就可以。以后工作你就慢慢会简单方法了 参考技术D num==2更好 第5个回答  2013-07-28 都一样。。

LeetCode:反转整数(C语言版)

LeetCode:反转整数(C语言版)

int reverse(int x)

    int num = 0;
    long sum = 0;
    
    if (x>=INT_MAX || x<=INT_MIN) return 0;
    
    while(x != 0)
        num = x % 10;
        x = x / 10;
        if(x != 0)
            if((sum + num) * 10 >= INT_MAX || (sum + num) * 10 <= INT_MIN) return 0;
            else
                sum = (sum + num) * 10;
             
        
        else
            sum = sum + num;
        
    
    return sum;

  • 主要思想就是将整数多次取余然后再不断*10,最后当x取整数部分等于0的时候,直接加上余数到待返回数据中。
  • 要注意的是整数的范围,在首次进入循环之前要判断是否超出整数范围,然后在*10的时候也要判断是否超出范围。

以上是关于在c语言里,int num=1; if(num==2)与if(2==num)两个判断句哪个更好?为啥?还有更好的办法么?的主要内容,如果未能解决你的问题,请参考以下文章

解答一个C语言程序。

C语言编程,编写一个函数void sort(int array[ ],int num),该函数的两个参数array和num分别表示一个数

c语言中while(num)或if(num)就执行语句,num表示啥?

c语言。 if(num&0x01),这个if语句里面判断的是啥?

C语言学生管理系统中有点疑问

C语言 从键盘上输入2个int型数 比较大小,并且显示最小数