I am working out a small program where I provide the command line arguments
For e.g. ./a.out 2 3 4 + *
When it comes ‘ * ‘, rather than printing the ‘ * ‘ itself, it prints the folders inside the directory’ + ‘ works fine. Please let me know how to remove this error. I want to print ‘ * ‘ here.
#include <stdio.h>
int main(int argc, char *argv[])
{
char *c;
while(--argc > 0)
{
c = *++argv;
if(strcmp(c,"+") == 0 )
{
printf("%s",c);
}
else if(strcmp(c,"-") == 0)
{
printf("%s",c);
}
else if(c[0] == '*')
{
printf("%s",c);
}
}
}
This has nothing to do with your code, but rather with your shell. If you want the shell to not glob wildcards then you will need to escape them, either with a backslash or with quotes.