设计函数int toInt(char *str), 实现将字符串转成数值的功能。 【提示】如 toInt("123") 返回 123
时间: 2024-04-16 13:27:10 浏览: 14
你可以使用以下函数来实现将字符串转换为整数的功能:
```c
#include <stdio.h>
int toInt(char *str) {
int result = 0;
int sign = 1;
int i = 0;
// 处理负号
if (str[0] == '-') {
sign = -1;
i = 1;
}
// 遍历字符串中的每个字符
while (str[i] != '\0') {
// 将字符转换为对应的数字
int digit = str[i] - '0';
// 将数字累加到结果中
result = result * 10 + digit;
// 移动到下一个字符
i++;
}
// 加上符号位
result *= sign;
return result;
}
int main() {
char str[] = "123";
int num = toInt(str);
printf("%d\n", num);
return 0;
}
```
在上面的代码中,我们首先判断字符串中是否有负号,然后从第一个有效数字开始处理。通过将字符与字符'0'相减,我们可以得到对应的数字。然后将其累加到结果中。最后,根据符号位返回最终的整数结果。
以上示例中的 `toInt("123")` 将返回 `123`。如果你希望输入负数,可以调用 `toInt("-123")`,它将返回 `-123`。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)