C - variablen zurücksetzen?

andrea89

Member
25 Juni 2006
15
0
Hey!

hab hier ein kleines problem, das wahrscheinlich für erfahrene programmierer nicht wirklich eins ist, aber ich verzweifel hier gerade voll...also es wäre echt toll wenn ihr mir helfen könntet...:

ich soll nacheinander mehrere berechnungen mit verschiedenen variablen, zB A=1, C=0.5,.... durchführen und dann am bildschirm ausgeben...das ist ja an sich kein problem, nur wird zum beispiel auch der postdekrement Operator also A-- benutzt und in der nächsten rechnung geht ja dann A als (A-1) mit ein, was es aber nicht soll...
also muss ich die Variablen vor jeder auswertung zurücksetzen....
wie mach ich denn sowas??
Da muss es doch irgendeinen trick geben, oder?

Danke schonmal für eure antworten!!!
lg, andrea
 
Hä? :hö:

Wenn du die Variable nicht ändern willst, tu es einfach nicht. Du hast doch in der Hand, welchen Wert sie hat. Niemand pfuscht dir ins Handwerk.
Willst du, dass sie Wert xyz annimmt, weise ihn ihr einfach wieder zu, wenn du es brauchst.
 
hey!

ja, natürlich, theorethisch ist das schon klar...
ich muss das programm aber für eine abgabe in der uni (ich studier maschinenbau und hab IT nur als recht kleines Fach und vom progrmmieren nicht so viel ahnung) schreiben und da ist das so vorgegeben in der aufgabenstellung, dass man mit den gegebenen Variablen die Berechnungen durchführt...damit aber das richtige rauskommt müsste man sie vor jeder auswertung wieder auf den anfangswert zurücksetzen und das funktioniert eben bei mir momentan nicht wirklich.....
 
Kein Trick :nö:

Im folgenden Beispiel wird der Wert der Variablen a nie verändert, nachdem er initialisiert wurde:
Code:
#include <stdio.h>

int main(int argc, char**argv)
{
    int a=5;
    printf("a-1 ist %d\n", a-1);
    printf("a ist %d\n", a);
    printf("a+1 ist %d\n", a+1);
    printf("a ist %d\n", a);

    return 42;
}

Die Ausgabe sollte dann so aussehen:
a-1 ist 4
a ist 5
a+1 ist 6
a ist 5

Du kannst mit Variablen also rechnen, wie es Dir beliebt, ohne den Wert der Variablen zu verändern. Und Du kannst den Wert natürlich verändern, wenn Du magst.

Wenn Dir das nicht weiterhilft, solltest Du vielleicht das Problem konkreter beschreiben, evtl. auch mal Deinen Code posten (niemand verlangt, daß hier nur perfekter Code gepostet wird), dann kann man leichter eine konkrete Hilfestellung geben.
 
eine lösung ist
einfach alle variablen die nicht mehr gebraucht werdenauf den wert 0 setzen

zweite lösung ist, allerdings kein guter style
temporäre variablen zu nutzen und den zwischenstand dann abspeichern und diese dann ausgeben

dritte lösung ist
void rechne(void){
int a= 1;
int b= 2;
printf("ergebniss :%d",a+b); /*ausgabe ist dann:"ergebniss :3" */
fflush(stdout); /*zwingt den speicher sofort alles auszugeben, muss man nicht... kann aber nuetzlich sein wenn mal ne ausgabe mal nicht hinhaut...*/
}