[過去ログ] Qiita 4 - キータぞ、来たぞ、キータだぞー (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
738
(2): デフォルトの名無しさん [sage] 2024/04/08(月)14:30 ID:KB8+vHO5(1/2)
>>737
その記事の

> 累乗の答えを返す関数
> int  ft_recursive_power(int nb, int power)
> {
>   if (power < 0)
>     return (0);
>   if (nb == 0 || power == 0)
>     return (1);
>   else if (nb == 0)
>     return (0);
>   else
>     return (nb * ft_recursive_power(nb, power - 1));
> }

は仮引数 power の値が 0 以上で nb の値が 0 の場合、

>   if (nb == 0 || power == 0)
>     return (1);

に条件合うから 0 の 1乗とかでも 1 返しちゃうね。
続く

>   else if (nb == 0)
>     return (0);

はその前で nb == 0 の判定やってるから意味ないな。

いまどきのコンパイラだと「こっちのパスは通りませんよ」くらいの警告は出してくれそうな気がするがコンパイル確認してるのか?
739: 738 [sage] 2024/04/08(月)14:47 ID:KB8+vHO5(2/2)
> いまどきのコンパイラだと「こっちのパスは通りませんよ」くらいの警告は出してくれそうな気がするが

折角なので確認した。

https://wandbox.org/permlink/mSIB1wP7B36wyRy8
https://wandbox.org/permlink/wySj2H4BlXzQoZcU

gccとclangの両方で常識的な警告オプション-Wall -Wextra付けた条件では警告出んかったわ。

普段自分では試そうともしない条件についてQiitaのアホな記事のお陰で知見が深まるのは有り難いことだなあ。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.535s*