这个C程序在其他计算机上按预期运行,但在我的计算机上表现得很奇怪

时间:2016-05-30 01:44:21

标签: c linux ubuntu gcc

这真的很奇怪!

这是一个C程序,用于查找具有常数和

的给定整数集的子集

我使用 gcc(Ubuntu 5.3.1-14ubuntu2)5.3.1 20160413运行Ubuntu-GNOME。

当我在我的电脑上运行这个程序时(输入完全相同)我得到了奇怪的垃圾输出

但是当我在其他系统上运行相同的程序时,我得到预期的输出

我尝试了什么:

  • 1)我认为 gcc 存在问题所以我重新安装了

    sudo apt-get install --reinstall gcc g++

  • 2)我从可启动的Ubuntu pendrive启动到实时Ubuntu(这很奇怪!)并编译并执行相同的程序。 它仍然表现得很奇怪

  • 3)已安装最新版本的 gcc gcc-6 ),并已编译并执行同样的程序,它仍然表现得很厉害!!!

所有其他程序在我的计算机上运行良好。

请注意,我的计算机在不同时间为同一输入提供不同的输出。 (example1:set = {1,2,3,4,5},sum = 5)

1 个答案:

答案 0 :(得分:4)

您的代码经常访问x[n],而无需写入。

C不对具有自动存储持续时间的变量的初始值提供任何保证。

您需要为x[n]指定一个值或避免读取该元素。