c - 根据 C 中的命令行参数使用数据类型

标签 c command-line-arguments

我试图将作为命令行参数给出的数据类型保存在我的 C 程序中,并在整个程序中使用该类型而不检查它。例如,我可以运行程序“./name -d int”或“./name -d float”,并且我希望保存数据类型以供进一步使用并在整个程序中看到,而不仅仅是在主功能。一个简短的例子:

int main() {
  /* read command line argument */
  /* I would like to be able to save the type in T to use like this */
  T a[20]; 
  /* rest of the program */
}

我可以这样做吗?

谢谢。

最佳答案

正如之前的答案所指出的,除非代码中有类似 switch 语句之类的东西来处理不同的情况,否则您不能在 c 中执行此操作,因为数据类型是在编译时确定的。如果您愿意接受小于 64 位整数精度并且您有 64 位 double ,则可以对所有数字使用 double ,然后只使用 switch 语句,例如当您输出时,根据需要将 double 转换为整数或字符等,然后以所需的格式输出。

关于c - 根据 C 中的命令行参数使用数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170506/

相关文章:

无法使用 CLion 打开文件名中包含 unicode 字符的文件

c - 在系统函数中调用 OpenCV 捕获代码时卡住

c - 带有 bug 的链表的哈希表

c - 如何选择其中一个选项?

linux - 打印第二个命令行参数

c - 使用命令行参数中的 getchar 和 putchar 来编码程序以发送到解码

python - 皮查姆 : Cant run unit tests with command line arguments

c - 访问函数内部声明的静态变量

c++ - 将变量放置在绝对内存位置 (IAR C/C++)

assembly - MIPS:从命令行参数读取字符串