查找给定输入的数据类型

时间:2014-04-23 12:28:47

标签: java c++ c

今天我的朋友参加了一次采访,因为他没有提出问题。问题是这样的Program to find the datatype of a given Input他问我,我能够解决这个问题

include<stdio.h> 
main() 
{ 
  char n; 
  printf("\nEnter a character: "); 
  scanf("%c",&n); 
  if(isdigit(n)) 
     printf("\nInteger"); 
  else 
     printf("\nCharacter"); 
}

但它只会告诉整数或charector,对于像float double这样的输入怎么样。任何人都可以帮助我。在这里,我们可以使用任何编程语言。

1 个答案:

答案 0 :(得分:2)

我相信你(或你的朋友)可能会错误地将术语给定输入误解为键盘输入,实际上,面试官可能意味着,给定一个通用的函数-type input参数,找到该参数的具体类型。当然,如果确实如此,则问题不适合C。

在C ++中,您可以使用typeid关键字。例如:

void func(const Object& arg)
{
    cout<<typeid(arg).name();
}

在Java中,您可以调用getClass()方法。例如:

void func(Object arg)
{
    System.out.print(arg.getClass());
}