gpt4 book ai didi

如果使用 CLion 而不是直接使用 gcc 编译,C 程序的行为会有所不同。为什么?

转载 作者:行者123 更新时间:2023-12-01 13:11:59 24 4
gpt4 key购买 nike

我正在编写一个使用 C90 连续播放 4 的程序。

我使用 ASCII 字符为控制台制作了一个 UI。

如果我使用 C Lion 编译程序,我会得到以下输出:

Screenshot C Lion Output

如果我使用 gcc main.c 编译它然后运行 ​​./a.out 我会得到以下结果:

Screenshot Terminal Output

很明显,如果我直接使用 gcc 编译它,这个点字符的大小会有所不同。

有人知道这怎么可能发生吗?

负责打印游戏台词的代码如下所示:

void printGameLine(int line[7]) {
int i;
printf("┃");
for (i = 0; i < 7; ++i) {
printColor(line[i]);
line[i] == 0 ? printf(" ") : printf(" ⬤ ");
printColor(0);
printf("┃");
}
printf("\n");
}

负责颜色的代码如下所示:(如果这有什么不同的话)

/**
* prints the color
* @param player -1 First player, 0 neutral, 1 Second Player
*/
void printColor(int player) {
switch (player) {
case 1:
printf("\033[0;31m"); /*red*/
break;
case -1:
printf("\033[0;33m");/*yellow*/
break;
default:
printf("\033[0m");/*neutral*/
break;
}
}

最佳答案

问题是 CLion 控制台的字体选择。

  • 转到文件/[设置...],然后转到编辑器/[配色方案]/[控制台字体]
  • 禁用“使用控制台字体而不是默认字体”复选框
  • 选择合适的等宽字体(我使用 Fira 代码)

Configuration screenshot

之后确保为空位置和“球形”位置使用相同长度的字符串。

关于如果使用 CLion 而不是直接使用 gcc 编译,C 程序的行为会有所不同。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59309045/

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