Wieso bekomme ich keine Ausgabe in meinem Programm in C?

2 Antworten

Du bekommst wahrscheinlich keine Ausgabe, weil du zu einem eine Binär Operation genauer gesagt ein ^(xor) auf y und i machst.

int y=3^9;

dies bedeutet nichts anderes als 3 xor 9 was 10 wäre.

printf("%y");

Bei printf fehlt des weiteren die Typ Angabe von y und müsste wie folgt aussehen

printf("%d\n", &y);

printf("Geben Sie eine Zahl für die Basis ein");

und wenn du Absätze haben willst must du am ende von Printf schreiben \n.

printf("Geben Sie eine Zahl für die Basis ein\n");

int i = Zahl1^Zahl2;

Problem hier ist das Zahl1 und Zahl2 noch keinen Wert zugewiesen bekommen haben.

Um mit Exponenten zu rechen brauchst du in der einfachen Form noch zusätzlich die <math.h> Standardbibliothek.

Woher ich das weiß:Studium / Ausbildung – Programmierer mit leib und Seele

Erst mal was soll das Programm überhaupt machen?

Das setzen von Zahl1 und 2 hat keinen Effekt, weil die Zuweisung von i ja bereits vorher passiert.

Zudem ist Zahl1 und Zahl2 zum Zeitpunkt der Zuweisung an i nicht definiert damit ist i nicht definiert, also da steht irgendetwas zufälliges drinnen.

y ist fix gesetzt, aber die Schleife stimmt nicht, denn i=y muss schon ein großer Zufall sein, dass das eintritt wenn schon i < y oder i <= y sonst läuft die Schleife nicht.

Wie LisamagPeferde04 ebenfalls noch geschrieben hat:

In C ist ^ nicht der Potenzoperator sondern die XOR Funktion. Printf braucht zudem noch einen Parameter sonst weiß es ja nicht welche Zahl es ausgeben soll, %y ist zudem kein definierter Platzhalter in printf.

Korrekt wäre hier: printf("%i",y); %i ist dabei der Platzhalter für einen Integer und y die Variable die da rein soll.

LisamagPferde04  27.01.2022, 11:40

Zudem berechnet man in C die Potenz auch nicht mit ^ und das prinft bei der Ausgabe macht so wie es formatiert ist keinen Sinn

1
PeterKremsner  27.01.2022, 11:42
@LisamagPferde04

Stimmt das hab ich glatt noch übersehen. Danke für den Hinweis, werde es in der Antwort ergänzen.

1