@grigsha

Почему при запуске программы через командную строку на mac выходит segmentation fault 11?

программу собирала через СМаке, успешно, функцию писала в разных файлах:
прототип функции (function.h)
int summa_of_numbers(int);
файл с функицей (function.cpp)
#include "function.h"
#include <cmath>

int summa_of_numbers(int n) {
    int ans = 0;
    while (abs(n) != 0) {
        ans += abs(n) % 10;
        n = abs(n) / 10;
    }
    return ans;
}

и, собственно, main.cpp:
#include <iostream>
#include "function.h"
using namespace std;

int main(int argc, char* argv[]) {
    cout << summa_of_numbers(atoi(argv[1])) << endl;
    return 0;
}
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
atoi(argv[1]) ожидает, что у программы при запуске будет как минимум один параметр командной строки. Segfault который ты видишь -- это результат запуска программы без аргументов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы