Форум программистов, компьютерный форум CyberForum.ru

Необработанное исключение по адресу - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.74
_Vudi_
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 3
11.10.2013, 11:06     Необработанное исключение по адресу #1
Доброго времени суток!
Долгое время учился кодить на Паскале, в данный момент появилось желание начать кодить на С.
В общем хотел написать небольшую программу, которая будет вычислять факториал, получилось примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
 
 
int main()
{
    int sum, i;
    sum=1; i=1;
    while (i<11)
    {
        sum=sum*i;
        i=i+1;
        printf("%s", sum);
    }
}

Выдает ошибку: Необработанное исключение по адресу 0x0F44ED6C (msvcr110d.dll) в ConsoleApplication8.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0x00000001.

Возможно я что-то делаю не так, либо же запускаю проект не так, как нужно?)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2013, 11:06     Необработанное исключение по адресу
Посмотрите здесь:

Необработанное исключение по адресу C++
C++ Необработанное исключение по адресу 0x00ED4891 в strings.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCCCCCCCC
C++ Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
C++ Исправить ошибку: необработанное исключение по адресу, нарушение прав доступа при записи по адресу
Необработанное исключение по адресу, нарушение прав доступа при записи по адресу C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
11.10.2013, 11:34     Необработанное исключение по адресу #2
C
1
 printf("%d", sum);
Людвиг Бодмер
 Аватар для Людвиг Бодмер
212 / 209 / 70
Регистрация: 29.03.2013
Сообщений: 555
Завершенные тесты: 2
11.10.2013, 11:36     Необработанное исключение по адресу #3
_Vudi_, в функции printf() вы используете недопустимый в данном случае спецификатор формата %s для вывода строки символов, вам же нужен спецификатор, к примеру %i, то есть:
C++
1
printf("%i", sum);
Ну и над программой надо еще поработать
Не успел)
_Vudi_
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 3
11.10.2013, 11:38  [ТС]     Необработанное исключение по адресу #4
Цитата Сообщение от Людвиг Бодмер Посмотреть сообщение
_Vudi_, в функции printf() вы используете недопустимый в данном случае спецификатор формата %s для вывода строки символов, вам же нужен спецификатор, к примеру %i, то есть:
C++
1
printf("%i", sum);
Ну и над программой надо еще поработать
Не успел)
"ConsoleApplication8.exe" (Win32). Загружено "C:\Users\Администратор\Documents\Visual Studio 2012\Projects\ConsoleApplication8\Debug\ConsoleApplication8.exe". Символы загружены.
"ConsoleApplication8.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть файл PDB.
"ConsoleApplication8.exe" (Win32). Загружено "C:\Windows\SysWOW64\kernel32.dll". Невозможно найти или открыть файл PDB.
"ConsoleApplication8.exe" (Win32). Загружено "C:\Windows\SysWOW64\KernelBase.dll". Невозможно найти или открыть файл PDB.
"ConsoleApplication8.exe" (Win32). Загружено "C:\Windows\SysWOW64\msvcr110d.dll". Символы загружены.
Программа "[6692] ConsoleApplication8.exe" завершилась с кодом 0 (0x0).


Не помогло
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
11.10.2013, 12:13     Необработанное исключение по адресу #5
Так все правильно:
Программа выполняется, выводит результат
и завершается по команде return 0;
закрывая окно (которую, кстати, Вы забыли написать).
Поставьте какую-нибудь команду перед концом, например
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
   
int main()
{
    int sum=1, i=2;
    while (i<=10)
    {
        sum*=i;
        i++;
    }
    printf("10!=%d\n", sum);
    system("pause");
    return 0;
}
_Vudi_
0 / 0 / 0
Регистрация: 11.10.2013
Сообщений: 3
11.10.2013, 12:20  [ТС]     Необработанное исключение по адресу #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
int main()
{
    int sum, i;
    sum=1;
    for (int i=1; i<11; i=i+1)
    {
        sum=sum*i;
        printf(" %i", sum);
    }
    cin.get();
}
Вот, все работает)
Библиотеки не давали запуститься...
Людвиг Бодмер
 Аватар для Людвиг Бодмер
212 / 209 / 70
Регистрация: 29.03.2013
Сообщений: 555
Завершенные тесты: 2
11.10.2013, 13:27     Необработанное исключение по адресу #7
Цитата Сообщение от _Vudi_ Посмотреть сообщение
Библиотеки не давали запуститься...

Не по теме:

Странный вывод.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.10.2013, 19:14     Необработанное исключение по адресу
Еще ссылки по теме:

Необработанное исключение по адресу 0x009F6F05 C++
Ошибка: необработанное исключение по адресу C++
C++ Необработанное исключение по адресу

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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
 Аватар для zss
5946 / 5551 / 1784
Регистрация: 18.12.2011
Сообщений: 14,178
Завершенные тесты: 1
11.10.2013, 19:14     Необработанное исключение по адресу #8
Цитата Сообщение от _Vudi_ Посмотреть сообщение
printf(" %i", sum); } cin.get();
Смесь бульдога с трактором.
printf - Из Сишной библиотеки буферизованного ввода,
cin.get() - из объектной библиотеки потокового ввода.
Каждая из них занимает приличный объем.
Либо
C++
1
cout<<sum; } cin.get();
либо
C++
1
printf(" %i", sum); } getch();
Yandex
Объявления
11.10.2013, 19:14     Необработанное исключение по адресу
Ответ Создать тему
Опции темы

Текущее время: 00:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru