在C语言中,怎么判断一个变量是int型的还是char型的?

比如在函数调用时,如果函数的参数是int的,可是却调用时实参却是char的,怎么判断其合法性呢?

变量是int型的还是char型,是由声明决定的。

函数调用时参数类型错,你编译时就通不过呀。

unsigned char 可以当无符号整型用。
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-03-24
用sizeof操作符在运行时来判定变量字长是错误的。因为sizeof()的值在编译时就确定了。上面老兄的函数永远只能返回-1
其实在C语言中用不着去判断变量类型。如果再调用函数时传入了不匹配的类型,编译器会给出警告。
第2个回答  2006-03-24
假设函数形式为:int function(int n);

方法1:判断实参字长:

int function(int n) {
int length = sizeof(n); //取n的字长
if ( length != 4 ) //判断n是否为32位整数
return -1; //不是整数返回-1;
else {
...
}
}
第3个回答  2006-03-24
在C语言里有个函数可以判断输入的是不是数字或者字母
int isalpha(int ch);
检查ch是否是字母,是字母返回1.不是则返回0,
去网上下个C语言函数看看吧
第4个回答  2006-03-25
严格来说,是没法判断的。

在C语言中,怎么判断一个变量是int型的还是char型的?
变量是int型的还是char型,是由声明决定的。函数调用时参数类型错,你编译时就通不过呀。unsigned char 可以当无符号整型用。

在C语言中怎样判断一个变量是字符还是数字
1. 检查变量的类型定义。在C语言中,变量必须声明其类型。因此,可以通过检查变量声明时使用的类型关键字来判断它是否为字符或数字。例如,使用`char`声明的是字符变量,而使用`int`声明的是数字变量。2. 输出变量的ASCII码值。每个字符在ASCII码表中都有对应的数值。可以通过将变量转换为其ASCII码值来...

c语言中怎样准确确定变量的数据类型
要确定变量的数据类型,就需要事先对各数据类型进行了解。char类型的数据就是字符类型的。int类型是有符号整型,表示范围为-2^15 ~2^15-1(占2个字节时),-2^31 ~2^31-1(占4个字节时)unsigned int类型是无符号整型,表示范围为0 ~2^16-1(占2个字节时),0 ~2^32-1(占4个字节时)...

...中如何判断定义内容为int,float,double,还是char,另外单双精度实型...
一个变量再定义是类型就固定了。如int a在定义域内a都是整形。当然可以用强制类型转换来改变。你可以用sizeof()来测任意一个变量的长度。如 对于int a ;sizeof(int)=2,sizeof(a)=2;表示int性和a都是2字节数据。一般int char都是2字节。float就是单精度其范围是10e-38到10e38,有效位为6-...

C语言中char和int有什么区别?
C语言中 char 与 int 具体区别如下:1、表示的变量类型不同:char 是字符变量,而 int 是整型变量。2、申请的类型数据不同:char 用来申请字符和字符串或者字符串指针;int 用来申请整型数据,或者整形数据指针。3、字节、能表示的内容不同:char只有一个字节,int有4个字节,能表示的内容大小不一样...

C语言中怎么准确地给变量确定数据类型
c 中变量使用,必须先声明,声明其实就是声明类型和名字;不过,我想你应该问的是,随便给我一个变量p,如 int* (*(*p)[10])(int,int) ,然后怎么看类型吧、?首先,我们一步一步来看 int a; \/\/ a 是 int 型,你懂的;int a[10]; \/\/ a 是 int[10],也就是 10 个 ...

c语言int型和char型变量有什么区别呢?
c - '2' == c - 50,与c - 2差别是明显的。对于c - '2'来说,这里的c通常是char类型,其值可能是'2','3',...‘8’,‘9’,那么c - '2'就是一个差值,这个值代表c与'2'的距离。对于c - 2来说,这里的c可能是一个int类型,实际效果就是求两个整数的差。

c\/c++如何判断变量的数据类型?
c\/c++判断变量的数据类型可以采用下面的代码:include <typeinfo> using namespace std;...cout << typeid(d).name() << endl;

什么是int型, char型变量?
int是整型变量,char是字符型变量。两者的区别主要在:整型变量int与字符型变量char所占字节不同,int在内存中占4个字节,而char只占1个字节。两者的储存数据范围不同。char的范围是有符号-128 ~ 127无符号0 ~ 255。int的范围是-32768 ~ 32767 ...

C语言中如何判断定义内容为int,float,double,还是char,请举例
int是整型 float 是单浮点 double是双精度浮点 char是字符 占得数位不同char最少,int ,float,double最大

相似回答