我是C程序员初学者,遇到了一些我无法完全理解的事情。
这是我的完整代码:
#include <curses.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <winuser.h>
#define DELAY 300000
int x = 3, y = 20;
int max_y = 0, max_x = 0;
int next_x = 0;
int directionX = -1;
int directionY = 0;
int main(int argc, char *argv[])
{
initscr();
noecho();
curs_set(FALSE);
getmaxyx(stdscr, max_y, max_x);
while(1)
{
// drawing on the map
clear();
mvprintw(y, x, "o");
refresh();
usleep(DELAY);
// make next step
next_x = x + directionX;
//set next step directionX
if (next_x >= max_x || next_x < 0)
{
directionX*= -1;
}
else
{
x+= directionX;
}
}
endwin();
}
调试中的这张图片描述了我无法完全理解的问题:
请,有人可以向我解释,如何将指针值赋给-1并接收+1?