"...erneut deklariert als andere Art von symbol"?

#include <stdio.h>
#include <math.h>

double integrateF(double low, double high)
{
    double low = 0;
    double high = 20;
    double delta_x=0;
    double x, ans;
    double s = 1/2*exp((-x*x)/2);

    for(x=low;x<=high;x++)
        delta_x = x+delta_x;
    ans = delta_x*s;

    return ans;
}

Er sagt, dass low und high sind "erneut deklariert als andere Art von symbol" und ich weiß nicht, was das bedeutet. Im Grunde, alles, was ich hier mache (LESEN: versuchen) ist die Integration von gering (die ich auf 0 gesetzt) bis hoch (20) zu finden, die Riemann-Summe. Die for-Schleife sieht ein bisschen trippy auch...ich bin so verloren.

EDIT:

#include <stdio.h>
#include <math.h>

double integrateF(double low, double high)
{
    low = 0;
    high = 20;
    double delta_x=0;
    double ans = 0;
    double x;
    double s = 1/2*exp((-x*x)/2);

    for(x=low;x<=high;x++)
    {
        delta_x = x+delta_x;
        ans = ans+(delta_x*s);
    }
    return ans;
}

^Das immer noch nicht funktioniert, nachdem Sie die geschweiften Klammern und alle. Er sagt: "undefined reference to 'WinMain@16'"...

  • Verwenden Sie Klammern, Sonst wird man erwischt mit dem man die Hose unten - dies ist ein gutes Beispiel!
  • Stellen Sie sicher, dass main() definiert. Überprüfen Sie meine aktualisierte Antwort!
  • Nur eine Frage, wenn Sie nur mit Variablen Einstellungen in der Funktion, warum akzeptieren Sie diese als Parameter?
  • Dieses Problem beheben 1/2. Dies ist die integer-division und das Ergebnis ist 0. Verwenden 0.5 direkt oder 1.0/2 zumindest.
  • Sie müssen eine Funktion mit dem Namen main irgendwo in Ihrem Programm.
InformationsquelleAutor CodeNewb | 2013-10-20
Schreibe einen Kommentar