@guzya007

Появляется ошибка AccessViolationException: «Попытка чтения или записи в защищенную память». В чем может быть проблема?

Вот код. Если что , я только изучаю основы Алгоритмизации и программирование . На дистанционном обучении ничего непонятно. До этого программированием не занимался.
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
	setlocale(LC_ALL,"Russian");
int A=12,B=500,C=-2,D=1024;
float E=.0245,F=458.1,G=-25.4875;
string H="Hello";

cout<<"Задание 1. Вывод на экран переменных A,B,C,D,E,F,G,H с новой  строки,\n\
	  ширина поля для целых чисед - 5 знаков\n";
printf("A=%5i\nB=%5i\nC=%5i\nD=5i\nE=%f\n=%f\nH=\''%s\''",A,B,C,D,E,F,G,H);

cout<<"\n\nЗадание 2.Вывод на экран целочисленных переменных A,B,C,D\n\
	  через запятую с табуляцией, выравнивание справа(по умолчанию\n";
printf("A=%i,\tB=%i,\tC=%i,\tD=%i",A,B,C,D);

cout<<"\n\nЗадание 3.Вывод на экран целочисленных переменных A,B,C,D\n\
	  выравнивание слева,вывод знака перед числом\n";
printf("A=%-+i\nB=%-+i\nC=%-+i\nD=%-+i",A,B,C,D);

cout<<"Задание 4. Вывод на экран действительных чисел E, F, G\n\n\
	  с точностью 2 знака,ширина поля 7 знаков\n";
printf("E=%7.2f\nF=%7.2f\nG=%7.2f",E,F,G);

cout<<"Задание 5. Вывод на экран действительных чисел E, F, G\n\n\
	  в обычной и нормализованной форме\n";
printf("E=%f/t%e\nF=%f/t%e\nG=%f/t%e",E,E,F,F,G,G);


getch();
}
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
В чем может быть проблема?

В сочетании этого: string H="Hello"; с этим: printf("...H=\''%s''",...,H);.
Так нельзя. Либо замени string H например на char H[], либо замени printf("...H=\''%s''",...,H); на printf("...H=\''%s''",...,H.c_str());.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
printf("A=%5i\nB=%5i\nC=%5i\nD=5i\nE=%f\n=%f\nH=\''%s''",A,B,C,D,E,F,G,H);

Здесь вы вывели символы 5i, а не целое число. Соответственно, сбился порядок параметров и следующие подстановки делались неправильно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы