写一个c语言函数将字符串转换为整数值输出
时间: 2024-05-15 11:19:39 浏览: 17
```c
#include <stdio.h>
int str_to_int(char* str) {
int result = 0;
int sign = 1;
if (*str == '-') {
sign = -1;
str++;
}
while (*str != '\0') {
if (*str >= '0' && *str <= '9') {
result = result * 10 + (*str - '0');
} else {
printf("Invalid input!\n");
return 0;
}
str++;
}
return sign * result;
}
int main() {
char str[] = "-123";
int num = str_to_int(str);
printf("%d\n", num);
return 0;
}
```
相关问题
C语言中将一个数字字符串转换为一个整数
在C语言中,可以使用标准库函数 `atoi()` 将一个数字字符串转换为一个整数。该函数的原型如下:
```
int atoi(const char *str);
```
其中,`str` 是需要转换的数字字符串,函数返回转换后的整数值。
例如,以下代码将字符串 `"123"` 转换为整数并打印:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "123";
int num = atoi(str);
printf("The converted integer is: %d\n", num);
return 0;
}
```
输出结果为:
```
The converted integer is: 123
```
需要注意的是,如果字符串中存在非数字字符,`atoi()` 函数会将其忽略,并返回转换时遇到的第一个数字之前的所有字符。如果字符串不能转换为整数,函数会返回 0。因此,在使用 `atoi()` 函数时需要谨慎处理异常情况。
编写atoi函数,将字符串转换为整数
可以使用C语言中的库函数atoi来将字符串转换为整数。其中,atoi函数需要传入一个以null结尾的字符串作为参数,返回该字符串表示的整数值。例如,可以使用下面的代码实现将字符串s转换为整数n:
char s[] = "12345";
int n = atoi(s);
其中,变量n的值为整数12345。
还可以使用自己编写的函数来实现将字符串转换为整数的功能。以下是一个简单的示例代码:
int myAtoi(char *s) {
int len = strlen(s);
int num = 0;
int sign = 1;
int i = 0;
if (s[i] == '-') {
sign = -1;
i++;
} else if (s[i] == '+') {
sign = 1;
i++;
}
while (i < len) {
if (s[i] >= '0' && s[i] <= '9') {
num = num * 10 + (s[i] - '0');
i++;
} else {
break;
}
}
return sign * num;
}
该函数首先判断字符串中的符号,然后依次遍历字符串中的字符,将其转换为整数。如果遇到非数字字符,就停止遍历。最后根据符号返回整数值。例如,可以使用下面的代码调用该函数:
char s[] = "12345";
int n = myAtoi(s);
其中,变量n的值为整数12345。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)