コマンドラインから引数を読み取る次のコードがあります。文字列の長さが 1 文字で数字の場合、それを終了値として使用したいと考えています。コンパイラは 2 行目に警告を表示します (array subscript has type 'char' )。このエラーは、"&&" の後の 2 番目の部分から発生します。
if (args[1] != NULL) {
if ((strlen(args[1]) == 1) && isdigit(*args[1]))
exit(((int) args[1][0]));
else
exit(0);
}
}
また、別のコンパイラを使用すると、次の行 (終了) で 2 つのエラーが発生します。
builtin.c: In function 'builtin_command':
builtin.c:55: warning: implicit declaration of function 'exit'
builtin.c:55: warning: incompatible implicit declaration of built-in function 'exit'