c语言编写程序: 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 例如:若输入字符串"-1234",则函数把它转换为整数值 -1234。
时间: 2024-02-19 11:03:28 浏览: 41
好的,我可以帮你实现这个功能。以下是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` 函数。然后将函数的返回值打印到终端上,以便我们能够查看转换后的整数。
相关问题
用c语言写程序 功能:编写函数long fun ( char *p),将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。 例如:若输入字符串"-1234",则函数把它转换为整数值 -1234。
好的,这是一个将数字字符串转换为整数的问题,可以使用ASCII码进行转换。以下是实现该功能的C语言代码:
```c
#include <stdio.h>
long fun(char *p) {
long num = 0;
int sign = 1;
if (*p == '-') {
sign = -1;
p++;
}
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
num = num * 10 + (*p - '0');
}
p++;
}
return sign * num;
}
int main() {
char str[] = "-1234";
long num = fun(str);
printf("%ld\n", num);
return 0;
}
```
在该函数中,首先判断字符串的符号,如果是负数,则将符号标记为-1,并将指针向后移动一位。接着遍历字符串中的每个字符,如果是数字,则将其转换为整数并添加到num变量中。最后将符号和num相乘得到最终的结果。
编写函数fun将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数
可以使用以下的函数实现将数字字符串转换为整数的功能:
```c
int fun(char* str) {
int result = 0;
int sign = 1;
int i = 0;
if (str[0] == '-') {
sign = -1;
i = 1;
}
for (; str[i] != '\0'; i++) {
result = result * 10 + (str[i] - '0');
}
return sign * result;
}
```
该函数首先判断字符串的符号,如果是负数则将符号标记为-1,并从第二个字符开始遍历字符串。然后,将每个字符转换为数字并将其乘以10的幂次方加到结果中。最后,将结果乘以符号并返回。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)