:编写函数fun(),将一个数字字符串转换成与之相同的整数。例如:如果输入的字符串为“12345”,则函数返回整数12345。要求函数的形参采用指针变量。c语言
时间: 2024-02-23 08:00:34 浏览: 122
好的,以下是函数fun()的代码实现:
```c
#include <stdio.h>
int fun(char *str) {
int num = 0;
while (*str != '\0') {
num = num * 10 + (*str - '0');
str++;
}
return num;
}
int main() {
char str[20];
printf("请输入数字字符串:");
scanf("%s", str);
int num = fun(str);
printf("转换后的整数为:%d", num);
return 0;
}
```
函数fun()的作用是将输入的数字字符串转换成整数。它的形参采用指针变量,即指向字符数组的指针。函数内部使用了while循环遍历字符串中的每一个字符,并将其转换成对应的数字累加到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的幂次方加到结果中。最后,将结果乘以符号并返回。
编写函数fun将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
以下是一种简单的实现方式:
```c
#include <stdio.h>
int fun(const char* str) {
int num = 0;
int sign = 1;
const char* ptr = str;
// 处理符号位
if (*ptr == '-') {
sign = -1;
ptr++;
}
else if (*ptr == '+') {
ptr++;
}
// 处理数字字符
while (*ptr >= '0' && *ptr <= '9') {
num = num * 10 + (*ptr - '0');
ptr++;
}
return num * sign;
}
int main() {
const char* str = "-12345";
int num = fun(str);
printf("%d\n", num);
return 0;
}
```
该函数首先处理符号位,然后遍历字符串中的数字字符,计算出对应的整数值。需要注意的是,这个函数只能正确处理整数字符串,无法正确处理包含小数点或指数符号的字符串。
阅读全文
相关推荐















