【发布时间】:2015-04-10 05:52:46
【问题描述】:
我有几个问题,我正在通过Zed Shaw Book 学习 C,我想我会稍作休息,尝试将我目前所学的知识用于测试。但后来我卡住了。
第一个问题是创建一个空框。我似乎无法做到这一点。我可以创建一个框,缺少底部但它由'*'填充,如果我只是做'',那么 c 编译器状态:create_border.c:12:14: error: expected expression
第二个问题,我不知道如何连接到键盘,所以当我按下上、下、左、右一个字符时,@ 在这种情况下会四处移动并在它的边缘停止。
到目前为止,我只有:
#include <stdio.h>
#define MAX_Y 6
#define MAX_X 6
void print_board(char board[MAX_Y][MAX_X]);
int main(int argc, char *argv[]) {
char exampleBoard[MAX_Y][MAX_X] = {
{'x','-','-','-','-','x'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'|','*','*','*','*','|'},
{'x','-','-','-','-','x'}
};
print_board(exampleBoard);
return 0;
}
void print_board(char board[MAX_Y][MAX_X]) {
int row = 0;
int col = 0;
for(row = 0; row < MAX_Y; row++) {
for(col = 0; col < MAX_X; col++) {
printf("%c", board[row][col]);
}
printf("\n");
}
printf("\n\n");
}
所有这些打印出来的是:
x----x
|****|
|****|
|****|
|****|
这就是我的期望:
- 一个空盒子,盒子里的任何地方都没有
'*'和@字符。 - 能够移动
@并在到达边界时停止。
非常感谢任何帮助。
【问题讨论】:
-
您可以将
''替换为' '(空格字符)。而且,您能说出您使用的是哪个操作系统吗?因为不同操作系统的方向键代码不同。
标签: c