gpt4 book ai didi

c - 如何打印带有字母的板

转载 作者:行者123 更新时间:2023-11-30 17:09:10 24 4
gpt4 key购买 nike

我有一个二维数组,我向用户询问其尺寸,例如4x4。然后我想打印出 ABCD 来标记行,垂直打印 ABCD 来标记列。

我正在尝试这样做,但不确定如何正确循环它。

void printBoard (char board[26][26], int size);

int main(int argc, char** argv) {

int size; //board size is even and not exceeding 26

printf("Enter the board dimension: ");
scanf("%d", &size);

char boardgame[size][size];
printBoard (boardgame, size);

return (EXIT_SUCCESS);
}

void printBoard (char board [26][26], int size) {

for (int row = 0; row < size; row++) {
for (int col = 0; col < size; size++) {
printf("%c", board['A'+ row]['A'+ col]);
}
}

}

最佳答案

你不能像这样使用字母作为数组索引。 “A”+ 行不起作用。 'A' 是一个字符,其 ASCII 代码是 65,所以你说的是 65+row。

其次,

printf("%c", board['A'+ row]['A'+ col]); 

就标记行和列而言没有执行任何操作。在这里,您尝试打印出数组本身的内容。我假设您想要顶部的一行来标记列,并在侧面有一列来标记行,如果在这种情况下您执行了太多的打印语句。

此外,当涉及到递增字母时,您应该了解 ASCII。 http://www.asciitable.com/

如您所见,65 是大写 A 的 ASCII。

#include <stdio.h>

int main(void) {
printf("%c",65);
return 0;
}

这段代码将打印出一个 A。我认为这可能会激发一个如何解决字母递增问题的想法。

关于c - 如何打印带有字母的板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33357898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com