不同语言操作符的优先级

2023年 8月 9日 66.6k 0

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗?

并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致:

Go:

package main

import "fmt"

func main() {
    fmt.Println(1+2>>1) // 2
}

Java:

import java.io.*;
class test  
{
	public static void main (String[] args) throws java.lang.Exception
	{
		System.out.println(1+2>>1); // 1
	}
}

C/C++:

#include 

int main(void) { 

    int a = 1+2>>1;
	printf("%dn",a); // 1
	return 0;
}

nodejs:

console.log(1+2>>1); // 1

python:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
if True :
	aaa=1+2>>1 
	print(aaa) // 1
	print(sys.version) //3.8.6 (default, Sep 24 2020, 21:45:12)  [GCC 8.3.0]

php:


相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论