浮点异常C代码

发布于 2024-12-11 19:38:28 字数 755 浏览 0 评论 0原文

给定的代码产生浮点异常,谁能告诉我这是由什么引起的?

int play(t_env* env, t_pos* pos)
{
    pid_t   pid;
    int     ret;
    t_data  data;   
    int     status;

    pos->addx = 1;
    pos->addy = 0;
    pos->x = 2 + rand() % data.row;
    pos->y = 2 + rand() % data.col;
    pid = getpid();
    ret = waitpid(WAIT_ANY, &status, WNOHANG);

    if (ret == -1)
    {
            id_print_str("Error during waiting stat");
            exit(1);
    }
    while (pos->x != data.row)
    {
            tputs(tgoto(env->cm, pos->x, pos->y), 1, id_put);
            id_print_char('1');
            sleep(1);
            pos->x = pos->x + pos->addx;
            pos->y = pos->y + pos->addy;

    return (0);
}

The given code produces a Floating point exception ,Can anyone tell me what this caused by?

int play(t_env* env, t_pos* pos)
{
    pid_t   pid;
    int     ret;
    t_data  data;   
    int     status;

    pos->addx = 1;
    pos->addy = 0;
    pos->x = 2 + rand() % data.row;
    pos->y = 2 + rand() % data.col;
    pid = getpid();
    ret = waitpid(WAIT_ANY, &status, WNOHANG);

    if (ret == -1)
    {
            id_print_str("Error during waiting stat");
            exit(1);
    }
    while (pos->x != data.row)
    {
            tputs(tgoto(env->cm, pos->x, pos->y), 1, id_put);
            id_print_char('1');
            sleep(1);
            pos->x = pos->x + pos->addx;
            pos->y = pos->y + pos->addy;

    return (0);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲琵琶半遮面シ 2024-12-18 19:38:28

根据给定的代码,我想,只有在这里才可能,

pos->x = 2 + rand() % data.row;
pos->y = 2 + rand() % data.col;

确保 data.rowdata.col 非零。否则,问题可能出在其他地方。

As per the given code,I suppose, Its only possible here,

pos->x = 2 + rand() % data.row;
pos->y = 2 + rand() % data.col;

make sure that data.row and data.col are non-zero. Or else, the problem might be somewhere else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文