【发布时间】:2020-10-30 12:53:16
【问题描述】:
我正在尝试为一个破砖游戏打印一组矩阵的每个字符(完整的消息是你输了)。我是 C 新手,我对使用指针不太自信;我觉得这可能是我问题的根源。为了尝试解决这个问题,我阅读了大量关于如何在 C 中处理字符串的在线指南;但事实上我正在处理一系列字符数组的数组,这使得这项任务变得相当困难。如果您知道如何在 C 中打印字符串矩阵(在另一个数组中),或者您有更好的解决方案,请告诉我!
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#define LETTER_WIDTH 13
#define LETTER_HEIGHT 6
char Y[LETTER_HEIGHT][LETTER_WIDTH] = {
"___ __\n",
"\\ \\__ / /\n",
"\\ \\ / /\n",
"| | |\n",
"| | |\n",
"|__|__|\n"};
char O[LETTER_HEIGHT][LETTER_WIDTH] = {
" _______ \n",
" / __ \\\n",
"| | | |\n",
"| |__| |\n",
" \\_______/\n"};
char *SENTENCE[2][LETTER_HEIGHT][LETTER_WIDTH] = {*Y, *O};
void printLetter(char letter[LETTER_HEIGHT][LETTER_WIDTH]) {
for (int i = 0; i < LETTER_HEIGHT; i++) {
for (int j = 0; j < LETTER_WIDTH; j++) {
printf("%c", letter[i][j]);
}
}
}
void printSentence() {
for (int i = 0; i < 2; i++) {
char letter[LETTER_HEIGHT][LETTER_WIDTH];
strcpy(*letter, **SENTENCE[i]);
printLetter(letter);
sleep(1);
}
}
int main() {
printSentence();
return 0;
}
【问题讨论】:
-
@user3386109 - 我现在不关心这个,我现在想要实现的是能够完全打印一个字母,然后再完全打印另一个字母(我将实现这个在诅咒中,这样我就可以在每次打印之前清除屏幕)
标签: arrays c string pointers printf