2022-12-31:以下go语言代码输出什么?A:1 1;B:-1 1;C:-1 -1;D:编译错误。 package main import “fmt“ func main() { a

2022-12-31:以下go语言代码输出什么?A:1 1;B:-1 1;C:-1 -1;D:编译错误。

package main

import "fmt"

func main() {
    a := (-3) % 2
    b := (-3) % (-2)
    fmt.Println(a, b)
}

答案选C。x%y=x-x/yy。
(-3) % 2=-3-(-3)/2
2=-3+3/22=-3+12=-3+2=-1。
(-3) % 2=-3-(-3)/(-2)(-2)=-3+2=-3+3/22=-3+2=-1。
由此可见,根据x/y*y,分母出现了两次,正正得正,负负得正,跟正负没关系。但跟分子有关,结果的正负跟分子的正负一样。

在这里插入图片描述

posted @ 2022-12-31 22:05  福大大架构师每日一题  阅读(20)  评论(0编辑  收藏  举报  来源