unterschied zwischen zwei (kleinen) fakultäts programmen
-
Hallo,
ich habe mir ein programm geschrieben das die fakultät einer bestimmten zahl ausrechnen soll. mein prog lautet:
#include <stdio.h>
int main()
{
int a,fak=1,i;
printf("Geb mal ne Zahl ein: ");
scanf("%d",&a);printf("\n\nDu willst also die Fakultaet von %d...\n",a);
for (i=1;i<=a;i++);
fak *= i;printf("\n Ergebniss: fak=%d",fak);
printf("\n Zähler: i=%d",i);
printf("\n Eingegeben war: a=%d\n",a);
system("pause");
}dabei kommt irgendwie nicht das richtige raus. dann kam die große recherche, und ein ähnliches programm lautet:
int main()
{
int a;
printf("Ganze Zahl eingeben: ");
scanf("%d",&a);printf("Fakultaet der Zahl: %d\n",fak_iter(a));
system("pause");
}int fak_iter(int n)
{
int i, fak=1;
for (i=1; i<=n; i++)
fak *= i;
return fak;
}Hier stimmt das Ergebniss. Nur ich sehe keine großen Unterschiede in den Rechenoperationen, oder?
-
phoenixtr schrieb:
for (i=1;i<=a;i++);
Das Semikolon hier beendet deine Schleife. Die nachfolgende Anweisung wird also nicht wiederholt.
-
mfk, ich liebe dich
ist schon 7 jahre her als ich zum letzten mal richtig programmiert hab, etwas habe ich doch vergessen