C Aufgabe zum Verständnis von Operatoren

toxic189

Lieutenant
Registriert
Jan. 2012
Beiträge
773
Hey ho leute,


Ich bin gerade am lernen und komme nicht weiter.... ich habe was einfaches mit Operatoren machen wollen zum Verständnis und zur Veranschaulichung.. doch es will nicht wie ich :D

Ich hoffe ihr könnt mir helfen es geht um folgendes :)
Ich Programmiere mit "Visual Studio 10 Prof. (MSDNAA Konto)

Code:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>


int main(void)

{
		int a = 0, b = 2, c = 5;
		a = b + c;			// Sollte 7 ergeben
		a = b - c;			// Sollte -3 ergeben
		a = c / b;			// Sollte 2
		a = b * c;			// Sollte 10 ergeben


		a = c % b;			// 5/2 ist 2 Rest 1, a ist 1
		a = c % 3;			// 5/3 ist 1 Rest 2, a ist 2


		printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);

		getch();


}


Wäre für jede hilfe dankbar :)
Ich hatte es schon mit mehreren %d versucht in Kombination mit "a,b,c" nach dem "printf" aber wollte nicht :D



MFG
Dome :)
 
Zuletzt bearbeitet:
Kannst du mal sagen was du genau willst?
Willst du alle Ergebnisse anzeigen lassen? Dann musst du auch jedes ausgeben lassen...
Aber nicht am Ende, weil du a ständig änderst...
 
Zuletzt bearbeitet:
Wo ist da die Frage? Sry, aber ich finde sie nicht ^^.

edit: Wie mein Vorgänger bereits ge-edited hat, glaube ich dass du dir alle Ergebnisse ausgeben lassen willst (denke ich jetzt zumindest mal). Wenn das dein Problem ist, sollte daraufhingewiesen sein, dass du nur das letze Ergebnis der Berechnung von a ausgibst (a = c % 3), da a ja jedes mal überschrieben wird.
 
Zuletzt bearbeitet:
bin nicht ganz sicher (ist schon länger her) aber müsstest du nich void main(void) schreiben.. so wie du das hast, wird erwartet: das ein int wert zurückgegeben wird oder so.. kann auch sein das ich mich irre..
 
Ich entschuldige mich :)

Ich möchte jedes ergebeniss anzeigen lassen. :)
 
Dann musst du nach jeder Operation ein printf(); aufrufen. Oder du speicherst die Ergebnisse in int[] a und gibst die am Ende mit einer Schleife nacheinander aus.
 
Dann müsstest du die "printf"-Anweisung auch nach jeder Rechenoperation ausführen lassen, damit der aktuelle wert ausgegeben wird :), also die printf-Anweisung nach jeder Berechnung einfügen.

edit: etwa so:

Code:
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
     
     
    int main(void)
     
    {
    int a = 0, b = 2, c = 5;
    a = b + c; // Sollte 7 ergeben     
    
   printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);

    a = b - c; // Sollte -3 ergeben     
    
   printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);

    a = c / b; // Sollte 2     
    
   printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);

    a = b * c; // Sollte 10 ergeben     
    
   printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);
     
     
    a = c % b; // 5/2 ist 2 Rest 1, a ist 1     
    
   printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);

    a = c % 3; // 5/3 ist 1 Rest 2, a ist 2
     
     
    printf("Die ergebenisse von INT sollten hier nun stehen: %d\n",a);
     
    getch();
     
     
    }
 
Nach jeder Rechnung das Ergebnis einfach ausgeben lassen.
Wenn du schreibst:
a = 1;
a = 2;
Wird der Wert 1 mit der 2 überschrieben und ist danach nicht mehr vorhanden. Vielleicht solltest du dich nochmals mit Variablen beschäftigen.
 
Oh man -.-* ich honk :D hahaha ich danke vielmals :D auf die einfachste Idee komme ich nicht :D

DANKE :)
 
@Matt Groening: Warum sich immer mit Nebenkriegsschauplätzen beschäftigen? Es kann je nach Sprach-Standard implizite Rückgabewerte geben.
 
Aufgrund der tatsache das im startpost keine klare Aussage war wo das Problem ist..
Bei solchen simplen Programmen haben wir damals immer void main(void) geschrieben..

aber das problem hat sich ja jetzt geklärt
 
das "void main" ist übrigens nicht standardkonform :p
 
Zuletzt bearbeitet:
"void main(void)" ist überflüssig, wenn du keine Parameter willst und nichts explizit zurückgibst, nimmt man nach K&R einfach "main()" Ohne jegliche Typangaben.
 
@Matt Groening:
"doch es will nicht wie ich" empfand ich schon als relativ klar, dass es kein Compilier-Problem ist... sonst wäre wohl auch eher von Fehlermeldungen gesprochen worden und nicht vom Versuch des Feintunings...

@nullPtr:
kannst du mir sagen, wo der Unterschied zwischen "main()" und "int main(void)" sein soll, außer das ersteres natürlich kürzer zu schreiben ist... von mir aus auch zwischen "main()" und "int main()"?
 
Zuletzt bearbeitet:
@168mib

int main() gibt einen integer wert zurück (den result oder exit code),
void main() nichts...
 
@toxic189: Wo hab ich was von "void main()" geschrieben? In keinem meiner Beiträge taucht das auf... oO
Die Frage war zu dem nicht an dich gerichtet...
 
Zurück
Oben