ディープチェックエラー - データの初期化されていない 'db'

#include
typedef enum ss{
 a,
 b
}s;
int get(s *dbb)
{
 *dbb = 1;
 return 1;
}
int printss(s dbs)
{
  printf("db no is:%d",dbs);
  return 2;
}
int main()
{
 s db;
 get(&db);
 printss(db);
 return 0;
}

関数printssの "unintialised variable" dbとしてdeepcheckの警告が表示されます。 しかし、関数の変数を初期化しています。関数printssで変数を取得して使用しています。問題を見つけるのを助けてください

0
私は何の警告も出ていません.Wall -Wextra
追加された 著者 Jeegar Patel,
main の変数を実際には初期化しません。値は get に設定されますが、初期化されていません(割り当てられています)。
追加された 著者 Some programmer dude,
これはWIPRO deepcheckを使用していますか?
追加された 著者 Ahmed Masud,

1 答え

get を使用する前に db を任意の値に設定するだけです。

int main()
{
 s db = a;//dummy value for initialization only
 get(&db); //really setting the value of db.
 printss(db);
 return 0;
}
1
追加された