c - #define 在 C 中使用 if-else 逻辑

标签 c if-statement constants c-preprocessor

我正在根据 Beej's Guide to Network Programming 模拟客户端/服务器交互。在我的 server.c 文件的开头,我定义了一个端口号:

#define PORT "21124"

但是,我将从此文件创建多个服务器,并且我想根据一些 if-else 逻辑更改此常量。 C 中是否有功能可以轻松完成此任务,例如:

if (serverNumber == 1) {
  #define PORT "21124"
}
else if (serverNumber == 2) {
  #define PORT "12412"
}
else {
  #define PORT "12334"
}

这可能是重复的,但我在搜索中没有看到它。我是一个 C 菜鸟。

最佳答案

“我想改变这个常量”。这听起来不对,是吗?

因此,只需使用像 int port 这样的变量,并使用简单的 if-else 语句 block 或使用开关为其赋值。

关于c - #define 在 C 中使用 if-else 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29453554/

相关文章:

c++ - 实现 Halstead 复杂性指标的问题

c - 为什么我在写入数组时遇到问题

c - GTK+ 中的六边形按钮

python - 在 python 中分组常量

r - 如何在 R 中跨多个函数定义全局变量? (不在包环境中)

ios - 如何测试位标记的所有字段是否存在于另一个位掩码中?

shell - 语法错误 : "then" unexpected (expecting "fi")

java - 有没有比使用多个 for 循环更好的方法来解决这个问题?

java - 具有不同条件的多个 if 语句

java - 当常量数量巨大时,如何正确定义常量?