, пожалуйста, простите меня, если это вопрос о нобе, но я новичок в C, изучая только какое-то время. Я попытался написать программу, которая суммирует два числа (предоставляемые в качестве параметров для приложения). Код выглядит так:Доступ к аргументам командной строки в C
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char** argv)
{
int a = atoi(argv[0]);
int b = atoi(argv[1]);
int sum = a+b;
printf("%d", sum);
return 0;
}
Но я получаю неверные результаты - огромное количество даже для небольших входов, как 5 и 10. Что здесь не так?
Для отладки проблемы убедитесь, что вы печатаете входы и выходы. Первое, что нужно сделать, это добавить 'printf ("argv [0] =% s \ n", argv [0]); printf ("argv [1] =% s \ n", argv [1]); 'затем следует' printf ("a =% d \ nb =% d \ n", a, b); 'после вызовов 'atoi()'. Если бы вы это сделали, вам, вероятно, не пришлось бы задавать вопрос. (Не забудьте напечатать новую строку после ответа!). –
Кроме того, это вопрос C; '#include' - это заголовок C++. Используйте '#include '. –
Спасибо, сделаю. – PeterK