Pass char-pointer-array-Funktion

Ich versuche, um eine initialisierte char-pointer-array an eine Funktion. Ich kann nicht scheinen, um herauszufinden, warum die Funktion wird nur drucken Sie die Ziffern von jedem element im array.

Weiß jemand, wie ich drucken kann jedes string-element aus der übergebenen pointer array?

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

void sort(char *);

int main()
{
   char *states[4] = {"Florida", "Oregon", "California", "Georgia"};

   sort(*states);

   return 0;
}

void sort(char *states)
{
   int x;

   for (x = 0; x < 4; x++) {
      printf("\nState: %d\n", states[x]); //only this will compile
      //printf("\nState: %s\n", states[x]); //need to print this.
   }

}
  • Übergeben Sie einen Zeiger auf Florida für die Funktion, und drucken Sie dann aus den entsprechenden zahlen zu den ersten vier Buchstaben des Strings. War es nicht das, was Sie soll?
  • sort(states); und void sort(char *states[])
  • Ok, ich sehe. So war ich nicht akzeptieren das array von Zeigern.
Schreibe einen Kommentar