大佬帮忙看一下,IDE运行可以,DEV也行,但RE了

P3397 地毯

jzy_2020011 @ 2021-08-16 20:25:22

#include <algorithm>
#include <iostream>
using namespace std;
int a[1000][1000];
int xxx(int x1,int y1,int x2,int y2)
{
    for (int i=x1;i<=x2;i++)
    {
        for (int j=y1;j<=y2;j++)
        {
            a[i][j]++;
        }   
    }
}
int main()
{
    int n,m;
    cin>>n>>m;
    int x1,x2,y1,y2;
    for (int i=1;i<=m;i++)
    {
        cin>>x1>>y1>>x2>>y2;
        xxx(x1,y1,x2,y2);
    }
    for (int i=1;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    return 0;
} 

by qwq自动机 @ 2021-08-16 20:41:54

啊……是上面那个 xxx 函数没有返回值的问题啊……

这算UB(undefined behavior,未定义行为),不同的编译器会对这些做出不同的处理。

@贾魁


by jzy_2020011 @ 2021-08-16 20:45:12

这不用返回呀


by 紪絽 @ 2021-08-16 20:45:26

@Z_LOVE_OI 啊这,看错了


by Acfboy @ 2021-08-16 20:45:33

其实开个 -W 就不会有这样的烦恼了。

14:1: warning: no return statement in function returning non-void [-Wreturn-type] 
 } 
 ^ 

by jzy_2020011 @ 2021-08-16 20:46:46

加在哪


by jzy_2020011 @ 2021-08-16 20:50:18

@Z_LOVE_OI

开成1008的效果

RE

?


by jzy_2020011 @ 2021-08-16 20:52:05

我开了1050


by JRzyh @ 2021-08-16 20:52:28

@贾魁 void xxx(int x1,int y1,int x2,int y2)

函数没有返回值这算UB(undefined behavior,未定义行为),不同的编译器会对这些做出不同的处理.


by jzy_2020011 @ 2021-08-16 21:00:37

改成 int xxx(int x1,int y1,int x2,int y2)吗


by jzy_2020011 @ 2021-08-16 21:04:12

看了没毛病呀


上一页 | 下一页