Инициализация делает указатель из целого числа - C (СИ)
Формулировка задачи:
Выдает ошибку на мой указатель, может я не правильно объявил указатель
Файла с исходным кодом
https://yadi.sk/i/tJdiWxk23G6rcu
COORD goRight(COORD pk, int dx) { HANDLE hout1 = GetStdHandle(STD_OUTPUT_HANDLE); //хэндл экрана консоли int d = 0; char *c = 1; while (d != dx) { d++; WriteConsoleOutputCharacter(hout1, " ", 1, pk, &NumRead); pk.X++; WriteConsoleOutputCharacter(hout1, "*", 1, pk, &NumRead); Sleep(100); } return pk; //возврат новых координат студента }
initialization makes pointer from integer without a cast char *c = 1;
Решение задачи: «Инициализация делает указатель из целого числа»
textual
Листинг программы
COORD goLeft(COORD pk, int dx) { HANDLE hout1 = GetStdHandle(STD_OUTPUT_HANDLE); int d = 0; while (d != dx) { d++; WriteConsoleOutputCharacter(hout1, " ", 1, pk, &NumRead); pk.X--; WriteConsoleOutputCharacter(hout1, "*", 1, pk, &NumRead); Sleep(100); } return pk; } //вот эта скобочка была в строке комментария!
Объяснение кода листинга программы
- Функция
goLeft
принимает два аргумента типаCOORD
(координаты) и целое число (dx). - Инициализируется переменная
hout1
результатом функцииGetStdHandle
с аргументомSTD_OUTPUT_HANDLE
. - Инициализируется переменная
d
значением 0. - Запускается цикл while, который выполняется до тех пор, пока значение переменной
d
не станет равнымdx
. - Внутри цикла увеличивается значение переменной
d
на 1. - Вызывается функция
WriteConsoleOutputCharacter
с аргументами:hout1
, символ пробела, 1,pk
, адрес переменнойNumRead
. - Значение переменной
pk.X
уменьшается на 1. - Вызывается функция
WriteConsoleOutputCharacter
с аргументами:hout1
, символ звездочки, 1,pk
, адрес переменнойNumRead
. - Вызывается функция
Sleep
с аргументом 100 (миллисекунд). - После выхода из цикла while, возвращается значение переменной
pk
. - Функция завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д