在代码段中查找问题

时间:2014-03-21 02:39:37

标签: c

我需要一家公司提出的筛选问题(在C中)的帮助。

问题是找出以下代码的问题。

short test() {
   short a,b,c;
   b=10;
   c = a + b;
   return c; 
}

此外,如果将签名更改为短测试(短a)并从堆栈中删除a,该怎么办?

我似乎无法找到此代码的任何问题,除了垃圾值可以存储在'a'中,因为它未初始化。对于第二个问题,如果'a'作为参数传递给函数,它真正有什么不同?有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

a的值是不确定的,因为它未初始化。读取a会导致未定义的行为。如果将a传递给函数并且它也未初始化,则会更快地发生同样的问题。