Stack around the variable was corrupted - C (СИ) (77900)

Узнай цену своей работы

Формулировка задачи:

void main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    double c,x,y,f;
    char k;
    printf("Введите x= ");
    scanf("%lf",&x);
    printf("Введите y= ");
    scanf("%lf",&y);
    printf("\nС какой функцией выполнять лабораторнуюработу?\n1.\tf(x)=sh(x)\n2.\tf(x)=x^2\n3.\tf(x)=exp(x)\n\nВведите ваш выбор: ");
    scanf("%s",&k);
    switch(k)
    {
    case '1':
        f=sinh(x);
        break;
    case '2':
        f=pow(x,2);
        break;
    case '3':
        f=exp(x);
        break;
    default:
        printf("\nНе верно выбран пункт меню\n\n");
        break;
    }
    if((x-y)==0)
        printf("\n\nВычисления по первой ветви.\nРезультат вычислений c=%.4lf\n",c=pow(f,2)+pow(y,1/3.)+sin(y));
    else
    {
        if((x-y)>0)
            printf("\n\nВычисления по второй ветви.\nРезультат вычислений с=%.4lf\n",c=pow(f-y,2)+log(x));
        else
            printf("\n\nВычисления по третьей ветви.\nРезультат вычислений с=%.4lf\n",c=pow(y-f,2)+tan(y));
    }
}
Вроде как считает нормально, но в конце выкидывает ошибку [url] с чем подобное может быть связано?

Решение задачи: «Stack around the variable was corrupted»

textual
Листинг программы
scanf("%s",&k);
// к имеет тип char, а вы пытаетесь ее считать как строку.
// надо заменить на
scanf("%с",&k);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4 из 5
Похожие ответы