Hallo Community,
ich habe gerade eine Schleife Iteration geschrieben die 1+2+3+...+n rechnet. Dabei ist mir etwas aufgefallen:
wenn ich bei der Bedingung in der for schleife i kleiner gleich n benutze funktioniert alles einwandfrei.
Wenn ich allerdings die Bedingung in der for schleife auf i == n setze durchläuft das Programm die schleife überhaupt nicht und gibt 0 aus.
Wieso ist das so? n wird ja vorher von mir eingegeben. Also müsste wenn ich für n = 5 eingebe, in der schleifen Bedingung i == 5 stehen, da i als start wert 1 besitzt müsste er doch die Schleife durchlaufen. Wieso tut er das nicht?
ich habe gerade eine Schleife Iteration geschrieben die 1+2+3+...+n rechnet. Dabei ist mir etwas aufgefallen:
Code:
#include<stdio.h> #include<conio.h> void main() { int i, n, a=0; printf("Bitte geben Sie n ein:"); scanf("%d",&n); for (i=1;i<=n;i++) { a=a+i; } printf("%d\n",a); }
Wenn ich allerdings die Bedingung in der for schleife auf i == n setze durchläuft das Programm die schleife überhaupt nicht und gibt 0 aus.
Wieso ist das so? n wird ja vorher von mir eingegeben. Also müsste wenn ich für n = 5 eingebe, in der schleifen Bedingung i == 5 stehen, da i als start wert 1 besitzt müsste er doch die Schleife durchlaufen. Wieso tut er das nicht?
Code:
#include<stdio.h> #include<conio.h> void main() { int i, n, a=0; printf("Bitte geben Sie n ein:"); scanf("%d",&n); for (i=1;i==n;i++) //wieso funktioniert i istgleich n nicht? { a=a+i; } printf("%d\n",a); }
Comment