编写函数fun将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。
时间: 2024-05-04 07:20:51 浏览: 169
以下是一个简单的实现,可以将一个数字字符串转换为整数:
```c
#include <stdio.h>
int fun(char *str) {
int result = 0;
while (*str != '\0') {
result = result * 10 + (*str - '0');
str++;
}
return result;
}
int main() {
char str[] = "12345";
int num = fun(str);
printf("%d\n", num);
return 0;
}
```
该函数遍历数字字符串,将每个数字字符转换为数字并将其乘以10的n次方,其中n是数字字符位置,然后将结果累加到result变量中。最后,返回result作为整数值。
相关问题
编写函数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的幂次方加到结果中。最后,将结果乘以符号并返回。
用c语言编写函数fun将一个数字字符串转化为一个整数 不得调用c语言提供的将字符串转化为整数的函数
可以使用以下代码实现将数字字符串转化为整数的功能:
```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[] = "12345";
int num = fun(str);
printf("%d\n", num);
return 0;
}
```
首先定义一个整数变量num并初始化为0,然后使用while循环遍历字符串中的每个字符,将其转化为数字并加到num中。具体实现时,num先乘以10,然后加上当前字符与字符'0'之间的差值即可。最后返回num即可得到转化后的整数。
阅读全文