Лучшее представление о том, что на самом деле происходит в char * argv []
и полностью функциональный код!
#include <stdio.h>
void fun(char *a[]);
int main(int argc, char *argv[]) {
// assume command line input was:
// ./a.out 10 11
printf("argc: %d\n", argc);
printf("argv[0]: %s\n", argv[0]);
printf("argv[1]: %s\n", argv[1]);
printf("argv[2]: %s\n", argv[2]);
printf("argv[argc]: %s\n", argv[argc]);
printf("\n");
char c[] = {"10\0"};
char d[] = {"4\0"};
char e[] = {"7\0"};
char n[] = {'\0'};
char *a[] = {c, d, e, n};
fun(a);
}
void fun(char *a[]){
int j = 0;
while(*a[j] != '\0'){
printf("atoi(a[%d]): %d\n", j, atoi(a[j]));
j++;
}// end of while