Параметры в командной строке строки символов. Они должны быть преобразованы в соответствующие типы. Лично я сначала распакую ваш argv [2] с использованием целочисленной переменной и atoi; ввести введенное пользователем значение в n
, а затем сравнить, как это:
#include <stdio.h>
#include <string.h>
int n;
int argv_2;
int main(int argc, char *argv[])
{
int rc = 0;
/* Check for three arguments, program name and two passed. */
if(3 == argc)
{
argv_2 = strtol(argv[2], NULL, NULL, 10);
printf("Please enter a number for the vaue of the variable n\t: ");
scanf("%d", &n);
printf("\n\n");
if (n > argv_2)
{
printf("The value of n: %i is greater than argv[2]: %i\n",
n, argv_2);
}
else
{
printf("The value of n: %i is not greater than argv[2]: %i\n",
n, argv_2);
}
}
else
{
printf("Usage: ./test arg1 arg2 \n\n");
}
return rc;
}
'sscanf (ARGV [2], "% d", & м)' и другой вариант. –
Вот ссылка на некоторые [документы] (http://www.cplusplus.com/reference/clibrary/cstdlib/atoi/). Да, я знаю, что это C++-ссылка, но это одна и та же функция. – jpm
@jpm спасибо. Обновлен ссылкой на это. –