c++ - character arrays and pointers basic confusion -


i beginner in pointers. after completing integer arrays , pointers shifted character arrays , pointers. expected same results weird.

int main() {         char chararray[20]="char array";           void printarray(char *);         void printarraydirect(char * );      printf("passing chararray funtion printarray\n");         printarray(chararray);             printf("printing directly c in printarraydirect function");             printarraydirect(chararray);       return 0; }  void printarray(char *c){             int i=0;         //while(c[i]!= ' ')-----------------------> checks empty space             while(c[i]!='\0')         {             printf("%c",c[i]);                i++;         }         printf("\n");     }    void printarraydirect(char * c){             printf("printing c-------------->");             printf("%s\n",c);             int i=0;             printf("printing c[i]-------------->\n");     // shows error here , if why didnt show me error in printarray function. , why didnt print whole array when printed c in printarray function..      printf("%s\n" c[i]);  } 

first of all, you're missing comma on line printf("%s\n" c[i]);. secondly, c[i] single char (the element type of array), hence %s formatting incorrect - should %c print single character. or if wish print entire string point onwards, need pass address of element (&c[i]), in case same c since i zero.


Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -