c语言编写程序: 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 例如:若输入字符串"-1234",则函数把它转换为整数值 -1234。
时间: 2024-02-19 21:03:28 浏览: 86
C语言编程-编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度;
5星 · 资源好评率100%
好的,我可以帮你实现这个功能。以下是C语言实现的代码:
```c
#include <stdio.h>
long fun(char *p) {
long num = 0;
int sign = 1;
if (*p == '-') {
sign = -1;
p++;
}
while (*p != '\0') {
num = num * 10 + (*p - '0');
p++;
}
return sign * num;
}
int main() {
char str[] = "-1234";
long num = fun(str);
printf("The converted number is: %ld\n", num);
return 0;
}
```
函数 `fun` 的参数是一个指向字符数组的指针,它会将该数字字符串转换为一个整数并返回。这个函数首先检查是否有符号,如果有,则将符号标记为负数并将指针向后移动一位。然后使用一个循环遍历字符串中的每个字符,将其转换为相应的数字并将其乘以10的适当次幂,最后将所有数字相加得到整数。如果字符串以 `\0` 结尾,则循环结束并返回该整数。
在 `main` 函数中,我们定义了一个数字字符串并将其传递给 `fun` 函数。然后将函数的返回值打印到终端上,以便我们能够查看转换后的整数。
阅读全文