请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。字符串在主函数输入,转换后的整数在主函数输出。注意如果是非负数字符串,则输入无需带符号
时间: 2023-06-17 20:02:03 浏览: 110
fun的功能是进行数字字符转换,
5星 · 资源好评率100%
以下是一个实现将数字字符串转换为整数的函数 `fun` 的示例代码:
```c
#include <stdio.h>
int fun(char *str) {
int num = 0, sign = 1;
if (*str == '-') { // 处理负数情况
sign = -1;
str++;
}
while (*str != '\0') { // 从字符串的首字符开始处理,直到遇到字符串结尾
num = num * 10 + (*str - '0'); // 将每个数字字符转换为对应的数字并添加到结果中
str++;
}
return sign * num;
}
int main() {
char str[20];
printf("请输入一个数字字符串:");
scanf("%s", str);
int num = fun(str);
printf("转换后的整数为:%d\n", num);
return 0;
}
```
在这个函数中,我们首先通过判断字符串的首字符是否为负号来确定结果的符号。然后,我们从字符串的首字符开始处理,每次将当前字符转换为数字并添加到结果中。最后,我们将结果乘以符号值(如果为负数则为 -1,否则为 1)得到最终结果。注意,这个函数假设输入的字符串是合法的数字字符串,即不包含非数字字符。
阅读全文