0 Daumen
4,7k Aufrufe

Guten Morgen zusammen!

Derzeit hänge ich bei einem Programm, welches die Fakultaet (nach Nutzereingabe) berechnen soll.

Wäre über Hilfe sehr dankbar! =)

Hier ist mein Code:

#include <stdio.h>

int fak(int n){
if(n > 1){
fakultaet = n * n-1;
n--;
}else if(n == 0 || n == 1){
fakultaet = 1;
}

}


int main(void){
int n;
printf("Bitte geben Sie eine Zahl ein!\n");
scanf("%d", &n);
printf("Die Fakultät von %d ist %d!\n", n, fak(n));
}

Auch wenn ich die Variable fakultaet initialisiere, meckert der Compiler, dass die Variable fakultaet nicht genutzt wird. =(
Avatar von

2 Antworten

0 Daumen
 
Beste Antwort
meckert der Compiler, dass die Variable fakultaet nicht genutzt wird.

Das macht der Compiler, weil sie nicht genutzt wird. Du weist ihr lediglich immer wieder einen neuen Wert zu.

Warnings sind keine Fehler, sondern nur Hinweise vom Compiler. Da Du fakultaet nicht nutzt, wird das Programm aber auch nicht funktionieren.

Ich habe hier mal ein Programm für eine Fakultätsfunktion in Java programmiert. Die Logik kannst Du entsprechend für Dein C-Programm adaptieren.

Avatar von

Danke, jetzt funktioniert es! =)

0 Daumen

#include <stdio.h>

int fak(int n){
  int fakultaet;
if(n > 1){
fakultaet= n * n-1;
n--;
}else if(n == 0 || n == 1){
fakultaet = 1;
}

}


int main(void){
int n;
printf("Bitte geben Sie eine Zahl ein!\n");
scanf("%d", &n);
printf("Die Fakultät von %d ist %d!\n", n, fak(n));
}


int fakultaet;


wurde im obrigen code vergessen.

Davon abgesehen ist die Berechnung der Fakultät definitiv falsch.


n = n -1 ist keine fakultät von n.

mfg


mfg

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community