Das Argument muss in einen Integer umgewandelt werden:

#include <stdio.h>
#include <stdlib.h>

int foo(int n)
{
  return n * (n+1) / 2;
}

int main(int argc, char* argv[])
{
  int sum = foo(atoi(argv[1]));
  printf("%d\n", sum);
  return 0;
}

Hierzu kann die Funktion atoi (ascii to int) verwendet werden:

The C library function int atoi(const char *str) converts the string argument str to an integer (type int).

Weitere Informationen findest du unter: https://www.tutorialspoint.com/c_standard_library/c_function_atoi.htm

Es gibt in C noch weitere Möglichkeiten, z. B. die Funktion strtol().

...zur Antwort