の戻り値について問題が発生していますatoi()
。
char
inコマンドライン引数argv[1]
をint
typeに変換して出力したい。
これが私のコードです。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i;
//print the char in *argv[]
for(i = 0; i < argc; i++)
{
fprintf(stdout, "Arg %d: %s\n", i, argv[i]);
}
if (argc > 1)
{
i = atoi(argv[1]); //convert char to int
fprintf(stdout, "Int version of 1st arg: %d\n", i);
}
return 0;
}
私はそれをgccでコンパイルし、次のように実行します./a.out a b c
他の結果は正しいですが、atoi()
結果は常に次のように表示されます
Int version of 1st arg: 0
このトピックについていくつか提案をいただけますか?