当前位置:首页 > 行业动态 > 正文

c语言怎么把字符转换成数字

在C语言中,字符到数字的转换可以通过多种方法实现,以下是一些常见的方法:

1、使用atoi()函数

atoi()函数是C语言中的一个内置函数,用于将字符串转换为整数,它的原型如下:

int atoi(const char *str);

atoi()函数接受一个以空字符结尾的字符串作为参数,并返回一个整数,如果输入的字符串不能转换为整数,那么函数将返回0。

示例:

#include <stdio.h>
#include <stdlib.h>
int main() {
    char str[] = "123";
    int num = atoi(str);
    printf("数字为: %d
", num);
    return 0;
}

输出:

数字为: 123

2、使用atol()函数

atol()函数也是C语言中的一个内置函数,用于将字符串转换为长整数,它的原型如下:

long int atol(const char *str);

atol()函数接受一个以空字符结尾的字符串作为参数,并返回一个长整数,如果输入的字符串不能转换为长整数,那么函数将返回0。

示例:

#include <stdio.h>
#include <stdlib.h>
int main() {
    char str[] = "123456789";
    long int num = atol(str);
    printf("数字为: %ld
", num);
    return 0;
}

输出:

数字为: 123456789

3、使用strtol()函数

strtol()函数是C语言中的一个内置函数,用于将字符串转换为长整数,它的原型如下:

long int strtol(const char *str, char **endptr, int base);

strtol()函数接受三个参数:一个以空字符结尾的字符串、一个指向指针的指针(用于存储转换后的字符串末尾的位置)以及一个表示进制基数的整数,函数返回一个长整数,如果输入的字符串不能转换为长整数,那么函数将返回0。

示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
int main() {
    char str[] = "123abc";
    long int num;
    char *endptr;
    num = strtol(str, &endptr, 10); // 将字符串转换为十进制数,base为10
    if (*endptr == '
0