【问题标题】:Is there any way to assign properties to differentiate values which would otherwise be considered the same? (in C language) [closed]有没有办法分配属性来区分否则被认为是相同的值? (用 C 语言)[关闭]
【发布时间】:2026-02-08 09:20:15
【问题描述】:

首先让我说我是一个初级程序员,知道非常基本的 C 我正在处理的确切代码在这里并不重要,只是我遇到了一个非常奇怪的问题(我在搞乱 ASCII 图形)

我想区分两个“O”字符。我可以使用不同的字符,但我希望它看起来不错。我尝试使用 Unicode 来区分它们(因为拉丁语 O 和希腊语 Omicron 看起来相同)但如果我将它发送给其他人(因为我的输出在命令提示符下)它将不起作用编辑:如果我发送它将不起作用给某人,因为必须手动配置命令提示符以允许使用 unicode 字符(至少据我了解)

我不知道使用结构是否可行,我想用 C 而不是任何其他 OOP 语言(如 python)来编写它(因为我正在练习 C)

那么有什么逻辑可以用来做这件事吗?

编辑:我想对两个 O 应用不同的行为,并且屏幕上每种类型都会有多个 O(这就是对象所做的,但请帮助我了解 C 的逻辑)

编辑2:显然我的问题很模糊,所以我会详细说明

我有一个二维数组,用作游戏屏幕 我希望 O 从每一侧(左上右下)进入,滚动屏幕并从另一侧退出

我已经想出了使它适用于单面的逻辑,但是当我想让它适用于所有方面时问题就来了

我目前的逻辑无法区分必须向左走的 O 和必须向下走的 O

因此我想在 O 的两个实例之间有所不同

(我没有发布我的代码,因为我只需要逻辑并且想自己解决实际代码,而且它可能非常低效或令人困惑等)

tldr:我想区分“O”和“O”

【问题讨论】:

  • 区分它在哪里?您谈论它“看起来不错”,这意味着它在屏幕/终端上。这种区分需要发生什么/在哪里/谁。给出一个精确的代码示例来说明当前设置和使用值的位置/方式将非常有帮助。
  • @kaylum 我希望两个 O 表现不同,所以我在谈论区分它们以应用不同的逻辑。生病让它更清楚thx
  • 只是说O 并不能让它更清楚。有很多上下文可以有一个 O。它来自哪里?目前是如何存储的?你想如何使用它?要具体,而不仅仅是模糊抽象的“我想区分”。
  • 什么实例?你一直说你不需要发布代码。但你做了。不是完整的代码,而是一个小例子,说明你做了什么以及你想做什么。在此处查看方法:minimal reproducible example。正如您应该能够说的那样,您的文字解释并没有被其他人理解。
  • 我正在处理的确切代码无关紧要这太棒了错误。 “确切代码”总是很重要。你说你是 C 的初学者——这意味着你没有资格判断什么代码很重要——如果可以的话,你就不必问这个问题了。也许如果您添加代码,您将重新打开您的问题,甚至可能得到答案。也许它会失去一些反对票。

标签: c logic ascii


【解决方案1】:

我目前的逻辑无法区分必须向左走的 O 和必须向下走的 O

您的问题是您没有区分内部表示外部表示

您有两个不同的对象在屏幕上移动。他们都看起来像一个O字符。这并不意味着您的程序应该将它们都存储为'O''O' 的一些变体,例如 omicron 字符。该程序可以存储例如数字 1 和 2,或任何两个方便使用的不同对象,并显示一个 O 来代替其中任何一个。

【讨论】:

  • 首先感谢您理解这个问题,即使我的解释乏善可陈,而且我没有提供代码其次,这对我来说很有意义,我认为会起作用,非常感谢您
  • 我也应该删除这个问题,因为它对任何人都没有帮助而且不清楚?
  • 我已经很清楚了,请不要删除。
  • 我不介意,我会继续努力的。再次感谢!