Aktualisierung einer globalen Variablen in C

Ich habe ein Anfänger-C Frage. Ich möchte in dem folgenden code...

include <stdio.h>

void iprint();
int i=0;

int main()
{
  int j;

  for (j=0; j<50; j++)
    {
      iprint(i);
      printf("%d\n",i);
    }
}

void iprint(i)
{
  i +=1;
  //printf("%d\n",i); 
}

... die Funktion "iprint" um den Wert zu aktualisieren, der ich jedes mal heißt es, wie update ich das so, dass es kann verwendet werden, im wesentlichen mit dem Wert 1 für die iteration 2 und 3 für die iteration 2 usw.

Ich erreichte dies, indem Sie den code zu diesem:

 include <stdio.h>

int iprint();
int i=0;

int main()
{
  int j;

  for (j=0; j<50; j++)
    {
      i= iprint(i);
      printf("%d\n",i);
    }
}

int iprint(i)
{
  i +=1;
  //printf("%d\n",i); 
  return(i);
}

Muss ich zurückgeben(ich) passieren, dass zu machen? Der Grund für die Nachfrage, ist, dass wenn ich habe eine Menge von Funktionen, die mit ich, es ist ein wenig ärgerlich, dass pass ich zwischen Ihnen. Wenn Sie stattdessen irgendwie aktualisieren könnte ich wie aktualisieren Sie eine Globale variable in matlab, das wäre toll. Ist es möglich?

  • Es ist möglich, aber nicht unbedingt eine gute Idee...
  • Dies ist nicht einmal syntaktisch korrekt ist. Tut das eigentlich kompilieren? (nicht zu erwähnen die Verwendung von globalen Variablen ist generell ein schlechter Geruch )
  • Entfernen Sie einfach das argument von iprint.
  • möglich, Duplikat der Zeiger in C und wie gehen lokale Variablen, die als Zeiger
InformationsquelleAutor user2466382 | 2013-09-23
Schreibe einen Kommentar