Ошибка при запуске программы: Access violation writing location 0x00000000 - C (СИ)
Формулировка задачи:
Нужно было написать программу, которая вычислит через сколько лет утроится население города, если каждый год население увеличивается на 1/40.После ввода населения выскакивает окошко с надписью: Unhandled exception at 0x778715de in z10.exe: 0xC0000005: Access violation writing location 0x00000000
Код:
Ошибка:
#include <stdio.h> #include <conio.h> #include <windows.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); int i; double nach=0.00; double nas2; printf("Введите население города\n"); scanf_s("%lf", nach); nas2=nach; for(i=0; nach*3<nas2; i++) { nas2=nach/40+nach; printf("Население города через 1 год будет: %.0lf\n", nas2); } return 0; }
'z10.exe': Loaded 'D:\kursovoiproekt\z10\Debug\z10.exe', Symbols loaded. 'z10.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll' 'z10.exe': Loaded 'C:\Program Files\AVAST Software\Avast\snxhk.dll' 'z10.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll' 'z10.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll' 'z10.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll' First-chance exception at 0x53ab9348 in z10.exe: 0xC0000005: Access violation writing location 0x00000000. Unhandled exception at 0x778715de in z10.exe: 0xC0000005: Access violation writing location 0x00000000.
Решение задачи: «Ошибка при запуске программы: Access violation writing location 0x00000000»
textual
Листинг программы
#include <stdio.h> #define NEEDED_MULTIPLE ( 3.0 ) #define YEARS_INCREMENT ( 1.0 / 40.0 ) int main(void) { double atBegin, atEnd; int years; printf("Starting number of cityzens: "); scanf("%lf", &atBegin); for ( years = 0, atEnd = atBegin; atEnd < atBegin * NEEDED_MULTIPLE; ++years, atEnd += atEnd * YEARS_INCREMENT ) ; printf("Number of cityzens will be multipled by %.0f after %d years\nand amounts of %.0f people\n", NEEDED_MULTIPLE, years, atEnd); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных.
- Объявление двух констант: NEEDED_MULTIPLE и YEARS_INCREMENT.
- Ввод начального числа жителей города с клавиатуры.
- Инициализация переменной years нулевым значением и присвоение ей значения переменной atBegin.
- Начало цикла, который выполняется до тех пор, пока значение переменной atEnd не станет равным начальному значению atBegin, умноженному на NEEDED_MULTIPLE.
- Увеличение значения переменной years на единицу при каждой итерации цикла.
- Вывод на экран информации о количестве жителей города через определенное количество лет.
- Возврат значения 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д