我试图将作为命令行参数给出的数据类型保存在我的 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/