я следующий кусок кода:Почему atoi дает мне ошибку сегментации?
#include <stdio.h>
int main (int argc, char *argv[])
{
int M, N;
M = 1;
N = 1;
curr = 1;
if (argv[1][0] == '-')
{
curr = 2;
char *a = argv[1][1];
char *b = argv[1][3];
M = atoi(a);
N = atoi(b);
}
printf("%d\n%d", M, N);
}
Итак, я прохожу эту программу что-то вроде этого:
a.out -1,2
и вместо того, чтобы Ожидаемым результатом
Я получаю ошибку сегментации. Что дает?
Какой сломанный компилятор вы используете? 'char * a = argv [1] [1];' должен давать ошибку компилятора ** **. C не имеет неявных преобразований из 'int' в типы указателей. –