【问题标题】:C: recognize variable type [closed]C:识别变量类型
【发布时间】:2015-10-23 14:36:26
【问题描述】:

我在学C,不知道有没有指令或者命令可以识别变量的类型。

为了更实用:我有一个使用整数的程序,如果用户在运行程序时插入实数,我想显示错误消息。

希望你能帮忙!

【问题讨论】:

  • 你能发布一些你写的代码来尝试这样做吗?
  • 听起来您想验证 用户输入 而不是阻止程序员将双参数传递给您的 int 函数。验证输入与确定变量的类型几乎没有关系。
  • 在低级别,来自用户键盘的任何输入都是字符串,必须先转换它才能存储在int 中。所以你要问的是,给定一个字符串,你如何确定它是否包含整数。例如,请参阅Determine if a C string is a valid int in C
  • 如果您只想确保用户没有输入“2.3”之类的内容,但您不在乎他们是否输入“2.0”,而您只是在使用 scanf(可能如果您是新手)您可以做的是将输入读入 double 变量,将结果分配给 int,然后比较两个变量之间的差异。

标签: c variables


【解决方案1】:

这不是 C 标准的一部分,但 GCC 有 typeof 关键字。

不过,您必须使用 GCC 编译器。

【讨论】:

  • 这可能不是 OP 的意思,因为typeof 在编译时工作,但用户在运行时输入。
  • @Wimmel 您可能是正确的,它没有回答 OP 的(研究得不是很好)的问题——但它确实为这个问题的标题中隐含的问题提供了一个可能有用的部分答案。它并没有真正解决 OP 的问题——但它可能会解决将来有人搜索 SO 以确定 C 中的变量类型的问题。
  • @JohnColeman 好的,我会投赞成票 ;)
猜你喜欢
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
相关资源
最近更新 更多