wow世界任务向你挑战:在C语言中,怎么判断一个变量是int型的还是char型的?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 11:40:59
比如在函数调用时,如果函数的参数是int的,可是却调用时实参却是char的,怎么判断其合法性呢?

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

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

unsigned char 可以当无符号整型用。

在C语言里有个函数可以判断输入的是不是数字或者字母
int isalpha(int ch);
检查ch是否是字母,是字母返回1.不是则返回0,
去网上下个C语言函数看看吧

char和int在一定程度上可以通用
如‘a’==97
其他类型的会强制转换。

假设函数形式为:int function(int n);

方法1:判断实参字长:

int function(int n) {
int length = sizeof(n); //取n的字长
if ( length != 4 ) //判断n是否为32位整数
return -1; //不是整数返回-1;
else {
...
}
}

用sizeof操作符在运行时来判定变量字长是错误的。因为sizeof()的值在编译时就确定了。上面老兄的函数永远只能返回-1
其实在C语言中用不着去判断变量类型。如果再调用函数时传入了不匹配的类型,编译器会给出警告。

严格来说,是没法判断的。