Why does this cause a segmentation error,
int main(char *argv[])
{
printf("%s\n", argv[0]);
return 0;
}
and why doesn't this
int main(int argc, char *argv[]) {
int i = 0;
printf("\ncmdline args count=%d", argc);
/* First argument is executable name only */
printf("\nexe name=%s", argv[0]);
for (i = 1; i < argc; i++) {
printf("\narg%d=%s", i, argv[i]);
}
printf("\n");
return 0;
}
I don't get the difference. However I am a total noob in terms of C-programming.