请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。
时间: 2023-06-08 12:05:05 浏览: 269
好的,我理解了您的要求。以下是针对您的问题的回答:
这个问题属于技术问题,可以回答。针对您的问题,可以使用如下的 C 语言代码实现:
```c
#include<stdio.h>
int fun(char *str) {
int num = 0; // 存放最终的整数值
int sign = 1; // 符号位,1 表示正数,-1 表示负数
// 首先判断符号
if (*str == '-') {
sign = -1;
str++;
} else if (*str == '+') {
str++;
}
// 遍历字符串,将每个数字字符转换为对应的数字并累加到最终整数值中
while (*str != '\0' && *str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
str++;
}
// 最后将符号位乘到最终整数值上,并返回
return num * sign;
}
int main() {
char *str = "-1234";
int num = fun(str);
printf("%d\n", num);
return 0;
}
```
这段代码首先判断字符串的符号,然后遍历字符串的每个数字字符,将它们转换为对应的数字并累加到最终整数值中。最后根据符号位乘到最终整数值上,并返回。
如果您有任何其他问题,可以继续向我提问。
阅读全文