No puedo pasar cadenas que comiencen #como argumentos de línea de comandos.
Aquí hay una prueba simple:
#include <stdio.h>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++)
printf("%s ", argv[i]);
putchar('\n');
return 0;
}
Si ingreso los argumentos de la siguiente manera:
2 4 # 5 6
El valor de argces 3y no 6. Se lee #y se detiene allí. No sé por qué, y no puedo encontrar la respuesta en mis copias de The C Programming Language y C Primer Plus .