Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/16: Рейтинг темы: голосов - 16, средняя оценка - 4.56
fantaz1
33 / 25 / 7
Регистрация: 08.11.2008
Сообщений: 107
1

Stack around the variable 'b' was corrupted

11.01.2011, 19:56. Просмотров 2944. Ответов 3
Метки нет (Все метки)

Помогите разобраться почему вот эта программа:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main()
{
    short b,k=0;
    float a,s=0;
    FILE* inf = fopen("input.txt","r");
    FILE* outf = fopen("output.txt","w");
    fscanf(inf,"%d",&b);
    while(b-->0)
    {
        fscanf(inf,"%f",&a);
        if(a<0)
        {
            s+=a;k++;
        }
    }
    fprintf(outf,"%d %.2f\n",k,s);
}
Не хочет работать вместе с типом short? При выполнении выдает ошибку "Run-Time Check Failure #2 - Stack around the variable 'b' was corrupted.".
Заменю short на int все нормально.
Просто интересно почему же так?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 19:56
Ответы с готовыми решениями:

stack around the variable was corrupted
Программа заканчивает работу а потом выбивает: stack around the variable 'koef'...

Stack around the variable was corrupted
Здравствуйте! Есть код и ошибка, которую не могу найти в коде 2 суток. Может...

Stack around the variable was corrupted
Здравствуйте! Имею следующий код: #include &lt;iostream&gt; #include &lt;ctime&gt; using...

Stack around the variable was corrupted
Здравствуйте, при решении задания по созданию класса возникла ошибка Run-Time...

Stack around the variable 's' was corrupted
Помогите разобраться! Не пойму почему иногда при использовании в программе...

3
cibertronic
256 / 143 / 17
Регистрация: 27.12.2009
Сообщений: 909
11.01.2011, 20:08 2
потому что функция fscanf() для данного типа не подходит, scanf используй

Добавлено через 1 минуту
а еще лучше использовать cin<<b;
0
Somebody
2802 / 1613 / 251
Регистрация: 03.12.2007
Сообщений: 4,215
Завершенные тесты: 3
11.01.2011, 22:55 3
Потому что для short формат %hd.
Цитата Сообщение от cibertronic Посмотреть сообщение
потому что функция fscanf() для данного типа не подходит, scanf используй
Чего?
2
asics
Freelance
Эксперт С++
2858 / 1793 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
11.01.2011, 23:02 4
Лучший ответ Сообщение было отмечено как решение

Решение

cibertronic, Что за бред Вы несете ?
3
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.01.2011, 23:02

Stack around the variable 'cif' was corrupted
#include &lt;iostream&gt; using namespace std; void main (){ char...

Stack around the variable 'stat_c1' was corrupted
Добрый вечер форумчане. Написал програмку, все отлично, все работает. Но при...

Stack around the variable 'arr' was corrupted
Не пойму в чем причина... Stack around the variable 'arr' was corrupted. В чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru