web-dev-qa-db-ja.com

「atoi」関数に関するCでの警告の取得

私は現在、読んでいる本の中でチャレンジ質問をコーディングしています。私のコードは正しい出力で完全に実行されますが、コードに警告が表示されており、その理由を知りたいだけです。

次の行に警告が表示されます。

int countdownStart = atoi(numInput);

私が得ている警告は言う:

関数 'atoi'の暗黙の宣言はC99では無効です

#import <readline/readline.h>
#import <stdio.h>

int main(int argc, const char * argv[]){
    printf("Who is cool? ");
    const char *name = readline(NULL);
    printf("%s is cool!\n\n", name);

    printf("What should I start counting? ");
    const char *numInput = readline(NULL);
    int countdownStart = atoi(numInput);
    for (int i = countdownStart; i >= 0; i--){
        if (i % 3 == 0){
            printf("%d\n", i);
            if (i % 5 == 0){
                printf("Found one!\n");
            }
        }
    }

    return 0;
}
27
user3249

Stdlib.hを含める必要があります

#include <stdlib.h>

次回同様の警告が発生した場合は、単にman atoiおよびマニュアルページには、どのヘッダーファイルを含めるべきかを明記する必要があります。

88
Cedric Morent