这真的很奇怪!
这是一个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)
答案 0 :(得分:4)
您的代码经常访问x[n]
,而无需写入。
C不对具有自动存储持续时间的变量的初始值提供任何保证。
您需要为x[n]
指定一个值或避免读取该元素。