C语言字符数字转换为整数数字
时间: 2024-10-05 09:05:08 浏览: 116
C字符转换为数字,经典
在C语言中,将字符类型的数字转换为整数通常涉及到`atoi()`函数、`strtol()`函数或者其他自定义的方法。以下是使用`atoi()`函数的一个简单例子:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str_char = '42'; // 字符型的数字
int num_int;
// 转换字符到整数
if (strchr("0123456789", str_char) != NULL) { // 检查是否为数字字符
num_int = atoi(&str_char); // 使用 atoi 函数
printf("字符 '%c' 对应的整数是 %d\n", str_char, num_int);
} else {
printf("'%c' 不是一个有效的数字字符.\n", str_char);
}
return 0;
}
```
如果你需要更精确的控制,并支持负数和长整型,可以使用`strtol()`函数,例如:
```c
char str_num[] = "-12345";
long long num_long;
num_long = strtol(str_num, NULL, 10); // 第二个参数通常是NULL,表示使用默认的空终止符检测
if (errno == ERANGE && num_long == LONG_LONG_MIN) {
printf("输入的数字太大,溢出了LLONG_MAX\n");
} else {
printf("字符串 '%s' 转换成的长整数是 %lld\n", str_num, num_long);
}
```
阅读全文