분할 고장 나는 세 번째 명령 줄 내가했던, 그래서 숫자가 있는지 확인하기 위해 노력하고있어
int n;
if (!isdigit(argv[3]))
{
fprintf(stderr, "n MUST be a number");
return 4;
} else
{
n = atoi(argv[3]);
printf("%i\n",n);
}
하지만 난 그냥
를 한 경우에 나는Segmentation fault
그러나 얻고있다
int n = atoi(argv[3]);
가 잘 작동, 난 정말 이해하지 않는 이유
'isdigit'는'int'를 기대합니다.'char *'를 먹이고 있습니다. 경고를 켭니다. – DeiDei
'argc> = 4'를 어디에서 확인합니까? –
'if (! isdigit (argv [3] [0]) || (argv [3] [0] == '-'&&! isdigit (argv [3] [1])))'또한 세 번째 명령 행은 다음과 같습니다. argv [2] (1 : argv [0], 2 : argv [1], 3 : argv [2]) – BLUEPIXY