【C言語】
デッドコード (冗長コード)
return x++;

冗長コード return x++;

warning: Value stored to ‘x’ is never read

警告:’x’に格納された値が読み出されない
[clang-analyzer-deadcode.DeadStores]


■return x++ の後置演算子がデッドコード

#include    <stdio.h>
int increment(int x)
{
    return  x++;    //NG:意味なし++
}
int main(void)
{
    printf("%d\n",increment(1234)) ;//1234と表示される
}

自動変数 x を return 時に後置演算で ++ しても、
もはや誰も参照できないので 後置演算++ に意味がありません。
++ した値を return したいのであれば
2行に分けるか、
前置演算子を使いましょう


➡2行に分けた修正例

#include    <stdio.h>
int increment(int x)
{
    x++;
    return  x;    //2行に分ける
}
int main(void)
{
    printf("%d\n",increment(1234)) ;//1235と表示される
}

➡前置演算子を使った修正例

#include    <stdio.h>
int increment(int x)
{
    return  ++x;    //前置演算子
}
int main(void)
{
    printf("%d\n",increment(1234)) ;//1235と表示される
}