1 Востаннє редагувалося navchalkin (02.05.2015 20:36:27)

Тема: Зупиняє роботу програми

Такс, привіт всім. Зіткнувся із проблемою: пишу програму по розрахунку арифметичної та геометричної прогресії, тільки от виникла проблема, при запуску програми спочатку все працює, вводиться перша змінна, друга, а при 3-й вилітає програма, із повідомленням "Зупинена робота програми". І постійно саме на цій змінній. Пробував в 2 різних середовищах програмування. Помилка однакова усюди. Можливо хтось знає причину, і спосіб вирішення?
Дякую наперед :)
ось код

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

int main()
{
    int i,a,n,d,pro=0;

    printf("Yaku progressiy bedem rakhuvaty: arifmetychnu[1], geometrychnu[2]\n");
    scanf("%d",&i);


        printf("=========================================\n");
        switch (i)
        {
               case 1:
                    printf("       arifmetrychna progressiya\n");
                    printf("+++++++++++++++++++++++++++++++++++++++++++\n");
                    printf("Vvedit a, n, d: ");
                    scanf("%d %d %d",a,n,d);
                    pro=a+d*(n-1);
                    printf("%d",pro);
                    break;
               case 2:
                    printf("        geometrychna progressiya\n");
                    printf("*******************************************\n");
                    break;
               default:
                       printf("     error\n");
        }




       system("PAUSE");
    return 0;
}

2

Re: Зупиняє роботу програми

Помилка тут:

scanf("%d %d %d",a,n,d);

scanf працює з вказівниками на змінні цілого типу, але тут йому передано значення змінних, тому він намагається обробити їх числові значення як адреси й вилітає, коли з'ясовується, що ці «адреси» неіснуючі.

3

Re: Зупиняє роботу програми

курча, я амперсанд не написав в сканф  :[ ото лайдик *JOKINGLY*