在程序中,您应该使用Scanf函数时传递变量的地址作为参数,而不是变量本身的值。修改代码如下:

package main

import "fmt"

func main() {
    var n, x, y int64
    fmt.Scanf("%d", &n)
    a := make([]int64, n+1)
    b := make([]int64, n+1)
    g := make([]int64, n+1)
    k := make([]int64, n+1)
    for i := 1; i <= n; i++ {
        fmt.Scanf("%d %d %d %d", &a[i], &b[i], &g[i], &k[i])
    }
    fmt.Scanf("%d %d", &x, &y)
    sum := 0
    for i := 1; i <= n; i++ {
        if x <= a[i]+g[i] && x >= a[i] && y <= b[i]+k[i] && y >= b[i] {
            sum = i
        }
    }
    if sum == 0 {
        fmt.Println("-1")
    } else {
        fmt.Println(sum)
    }
}

这样就可以正确读取输入并打印结果了

package mainimport fmtfunc main var nxy int64 fmtScanfd&n a=makeint64n+1 b=makeint64n+1 g=makeint64n+1 k=makeint64n+1 for i=1;i=n;i++ fmtScanfd d d d&ai&bi&gi&ki fm

原文地址: https://www.cveoy.top/t/topic/hLN8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录