0

我用 C 编写了一个快速矩阵乘法器。它在我的 MBA 上编译并运行良好。但是,当我在学校的 Linux 机器上编译和运行时,我陷入了无限循环。

这是我的 gcc 编译

gcc -Wall prog1.c -o prog1

这是我在 MBA 上使用的 gcc 版本

i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 
2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

这是学校服务器上的 gcc 版本。

gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

这是代码的链接

编辑:对不起!我在输入验证中得到一个无限循环。我一直在使用 printf 语句来调试我的代码,但我仍然很难理解为什么它会卡在那里。发生的情况是第 181 行的 for() 在遇到 '+' 或 '-' 后继续循环。

十六个命令行参数,因为它填充了两个矩阵,每个矩阵有 8 个整数。

我不是绝对肯定这是不同编译器或我的代码的问题!我只是认为是这样,因为我在 MBA 上得到了预期的结果,但在 Red Hat 机器上却没有。

4

0 回答 0