如何将字符串转换为对应的十进制整数,用C语言写
时间: 2024-10-15 16:19:07 浏览: 35
在C语言中,你可以使用标准库函数`atoi()`或`strtol()`来将字符串转换为整数。下面是两个例子:
1. 使用`atoi()`函数,它适用于简单的、只包含数字的字符串:
```c
#include <stdio.h>
int main() {
char str[] = "12345";
int num = atoi(str);
printf("转换后的十进制整数: %d\n", num);
return 0;
}
```
`atoi()`返回的是一个`int`类型的值。
2. 如果字符串可能含有正负号或前导空格,可以使用`strtol()`函数,提供更多的灵活性:
```c
#include <stdio.h>
#include <stdlib.h> // 包含strtol
int main() {
char str[] = "-123 456"; // 注意这里包含空格
long long num = strtol(str, NULL, 10); // base 10表示十进制
if (num == LONG_LONG_MAX || num == LONG_LONG_MIN) { // 检查溢出
printf("转换失败,数值过大或过小。\n");
} else {
printf("转换后的十进制整数: %lld\n", num);
}
return 0;
}
```
这里的`NULL`指定了默认的结束标志,如果需要检查字符串是否完全转换,可以传递指向一个内存位置的指针并检查其是否被改变。
阅读全文