请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。 (请勿在答题框编写主函数main, 仅需完成函数fun的begin和end之间应该填写 的代码。)
时间: 2024-03-03 14:50:20 浏览: 30
以下是函数fun的代码实现:
```
int fun(char* str) {
int num = 0;
int sign = 1;
if (*str == '-') {
sign = -1;
str++;
}
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
} else {
return 0;
}
str++;
}
return sign * num;
}
```
该函数首先判断字符串的第一个字符是否为负号,如果是则将标志sign置为-1,并将指针str指向下一个字符。接着使用while循环将字符串中每个数字字符转换为整数并累加到num变量中。在每次循环中,还需要判断当前字符是否是数字字符。如果不是,则返回0表示无法转换。最后将num乘以sign得到最终结果。
相关问题
请编写函数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
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的幂次方加到结果中。最后,将结果乘以符号并返回。