So I have a string passed into principal office: int master(int argc, char* argv[])

I sympathize argc (which is 2 in this case), but don't empathize how I tin can read argv[] graphic symbol by character? When I print argv[0] shouldn't that print the first character in the array of characters for that string?

Thank you

asked Sep 27, 2014 at vii:20

ii

  • The values passed on the command line start with argv[1]. The start character of that would be argv[i][0].

    Sep 27, 2014 at 7:22

  • argv[] is an array of strings(zero terminated grapheme arrays). Thus argv[0] gives the first string. To get the showtime character of the first string use *argv[0] or argv[0][0].

    Sep 27, 2014 at 8:18

ii Answers two

sample

                  #include <stdio.h>   int main(int argc, char *argv[]){     int i,j;     for(i=0; i<argc; ++i){         for(j=0; argv[i][j] != '\0'; ++j){             printf("(%c)", argv[i][j]);         }         printf("\n");     }     render 0; }                                  

answered Sep 27, 2014 at seven:28

v

  • Thanks, I swear I tried the same matter but it didn't work. Does ++i vs i++ make any departure? I couldn't understand other people's explanations.

    Sep 27, 2014 at 7:43

  • Please share the code that didn't piece of work. No, in this context the pre or post increment operator makes no difference. Information technology does make a difference if it is part of an expression being assigned or evaluated, equally opposed to an increment operation alone.

    Sep 27, 2014 at 7:45

  • @aNobody You should post together the code that did not work well when you asked question.

    Sep 27, 2014 at 7:47

  • @aNobody Does ++i vs i++ brand whatever divergence? : There is no much divergence if it'due south running lone.

    Sep 27, 2014 at 7:49

  • @aNobody ++i is more efficient by a very tiny amount because the boosted storage for the render value need not be allocated.

    January 27, 2022 at 4:00

Ane more instance:

                #include <stdio.h> #include <stdlib.h> #include <cord.h>  int master (int argc, char *argv[]) {     if(argc != 2)     {         //argv[0] is proper name of executable         printf("Usage: %s statement\n", argv[0]);         exit(1);     }     else     {         int i;         int length = strlen(argv[1]);         for(i=0;i<length;i++)         {             printf("%c",argv[one][i]);         }         printf("\n");         return 0;     } }                              

answered Sep 27, 2014 at vii:44

Not the answer you're looking for? Browse other questions tagged c arrays string char master or enquire your own question.