Назначение optarg для int в C
Я пытаюсь присвоить int значение optarg, но компилятор выдает мне следующее предупреждение:
warning: assignment makes integer from pointer without a cast [enabled by default]
Я пытался привести Optarg как INT до назначения
n = (int) optarg;
но все равно получаю предупреждение:
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
Я не уверен, что нужно сделать, прежде чем я смогу просто присвоить optarg целому числу, а затем распечатать его (пока).
int main (int argc, char *argv[])
{
char c;
int n;
while ((c = getopt(argc, argv, "m:")) != -1) {
switch (c) {
case 'm':
n = optarg;
break;
}
}
printf("%d\n", n);
return 0;
}