programm fehler!Übergabe des Arguments 1 von ?sub? von inkompatiblem Zeigertyp

hey leute,

Code:
Source code: http://nopaste.de/p/aq3pK5VGo

habe ein bug in meinem program. Unszwa habe es unter linux geschrieben und mit gcc kompiliert,
und 2 warnungen bekommen

myaufg2.c:29: Warnung: Übergabe des Arguments 1 von ?sub? von inkompatiblem Zeigertyp
myaufg2.c:29: Warnung: Übergabe des Arguments 2 von ?sub? von inkompatiblem Zeigertyp

Das programm läuft wie ich es möchte, es soll die umlaute in einem wort zählen und ausgeben.
Umlaute Tabelle:

ausgabe:

Code:
          Wort: fecub

|---------------------------------------|
|   Buchstabe     | auftrits Haeufigkeit|
|---------------------------------------|
|       a         |           0         |
|       e         |           1         |
|       i         |           0         |
|       o         |           0         |
|       u         |           1         |
|---------------------------------------|

nur jetzt kommt mein problem, wenn ich unter windows mit visual studio kompiliere bekomme ich wieder 2 fehlermeldung

'Funktion': Anzahl der Dereferinzierung bei 'char *' und 'char (*_w64)[100]' unterschiedlich
'Funktion': Anzahl der Dereferinzierung bei 'char *' und 'char (*_w64)[20]' unterschiedlich

hier ist die ausgabe so:

ausgabe:
Code:
Umlaute Tabelle: 

          Wort: fecub

|---------------------------------------|
|   Buchstabe     | auftrits Haeufigkeit|
|---------------------------------------|
|       a         |           -858993460         |
|       e         |           -858993459          |
|       i         |            -858993460          |
|       o         |           -858993460          |
|       u         |           -858993459          |
|---------------------------------------|

hier läuft es nicht wie ich es möchte, wo mache ich den ein fehler.
bin total verzweifelt, würde mich freuen wenn ihr mir weiterhelfen würdet

gruß
fecub
 
Die Variablen "wort"und "vokale" sind Arrays also muss es heißen:

Code:
sub(wort, vokale ,&a, &e, &i, &o, &u);

Und noch ne andere Frage, muss der Code so haesslich sein ;)

Code:
void sub(char *wort,  int *a, int *e, int *i, int *o, int *u)
{
  int i;

  for(i=0;i<=strlen(wort);i++)
  {
    if('a'==tolower(wort[i])
      *a=*a+1;
    else if('e'==tolower(wort[i])
      *e=*e+1;
    else if ...
  }
}
Das wuerds auch shcon tun.
 
Und dann noch etwas zu den seltsamen Werten, die du unter Windows erhälst:

Wenn du eine Variable nur definierst, dann weist du ihr damit eigentlich keinen Standardwert zu.
Probiere doch einfach mal, deine Zähler auf 0 zu setzen.
 
Zurück
Oben