Эта простая программа создает исключение в visual studio
Я попытался скомпилировать эту следующую простую программу на языке Си(вычисляя сумму 5 пяти предметов и ее совокупный процент) в visual studio 2015,но она выдает исключение, может ли кто-нибудь мне помочь, я новичок в использовании visual studio.
Он закрывает окно консольного приложения (32 бит) и выскакивает окно с надписью:
"Исключение, вызванное в 0x54ACB5F2 (ucrtbased.dll) в ConsoleApplication3.exe: 0xC0000005: нарушение доступа место записи 0xCCCCCCCC.
Если есть обработчик для этого исключения, программа может быть безопасно продолжена."
Что я уже пробовал:
#include "stdafx.h" #include<stdio.h> #include<conio.h> int main() { int marks=0,sub[4],i=1; while (i <= 5) { A:printf("\nEnter Subject %d Marks: ", i); scanf_s("%d", sub[i]); if(sub[i]<0) { printf("\nINVALID VALUE!!"); goto A; } else marks = marks + sub[i]; } printf("\nTotal Marks : %d out of 500, Aggregate percentage is %f", marks, marks / 5); return 0; }
Graeme_Grant
Это пахнет домашним заданием...
Какая ошибка? Какая линия? Вы искали ошибку в docs/google? Знаете ли вы, как использовать отладчик?
Обновите свой вопрос с подробностями, нажав на кнопку Улучшить вопрос
ArvindSai
Он соответствует программе, но после ввода значения для первого субъекта он закрывает консольное приложение windows и открывает окно, показывающее сообщение, как указано в запросе
Я боюсь сказать, что не знаю, как использовать отладчик, я очень новичок в visual studio, можете ли вы дать мне какие-либо предложения, чтобы узнать о компиляторе visual studio и о том, как он работает: (@Graeme_Grant
Graeme_Grant
Это видео поможет вам начать работу с отладчиком: Отладка приложений C/C++ в Visual Studio 2013 - YouTube[^]
ArvindSai
Спасибо за ссылку!!:)
ArvindSai
Я попробовал отладить, но он выдает одно и то же сообщение@Graeme_Grant
Dave Kreskowiak
Отладчик не предназначен для автоматического поиска ошибок в вашем коде. Он там, чтобы найти в вас Жуков. Он поможет вам понять ваш код и то, как он работает.
[no name]
Не используйте goto
ArvindSai
Что я должен использовать для обнаружения входа отрицательных значений для испытуемых( так как они не могут быть), какие-либо предложения?:)
[no name]
Любая петлевая структура будет работать.
Graeme_Grant
Проверьте, что вы ожидаете, и исключения будут не такими, как вы хотите.
if (okay) { ... } else { ... }
ArvindSai
значит, мне нужно упомянуть это утверждение после else в цветочных скобках?