C语言编写函数,将一个数字字符串转换为一个整数(不得调用 C 语言中将字符串转换成整数的库 函数)。
时间: 2024-10-06 09:05:17 浏览: 32
在C语言中,没有现成的库函数可以直接将字符串转换为整数,但你可以手动实现这个功能。下面是一个简单的步骤,使用ASCII值计算每个字符代表的数值,并加起来得到整数:
```c
#include <stdio.h>
#include <string.h>
// 函数定义:将字符串转为整数
int str_to_int(char *str) {
int num = 0;
int sign = 1; // 正负标志,默认正
char *endptr;
if (*str == '-') { // 检查是否为负数
sign = -1;
str++; // 移动指针到第一个数字
}
while (*str >= '0' && *str <= '9') { // 遍历有效数字字符
num = num * 10 + (*str - '0'); // 加上当前数字的ASCII值减去'0'
str++; // 移动指针到下一个数字
}
num *= sign; // 应用正负号
// 使用 strtol 或 atoi 等库函数检查输入是否完全有效,但这超出了题目要求
// 这里我们假设输入的是有效的数字字符串
endptr = NULL;
return num;
}
int main() {
char str[] = "12345";
int result = str_to_int(str);
printf("The integer is: %d\n", result);
return 0;
}
```
阅读全文