как определить количество аргументов при использовании int main (int argc, char * argv )

Скажем, если я скомпилирую это ./COMP . Если я напишу ./COMP "biscuits" "gravy" то ответ будет два. Я пытался понять это на некоторое время, и у меня совершенно нет идей.

 int num_args = argc - 1; 

Поскольку argc состоит из фактического адресата в качестве его первого массива символов (который является * argv []). Таким образом, вы просто вычтите 1, исключив фактический пункт назначения файла, который вы используете, и вы получили несколько аргументов.