请编写一个 C 函数,该函数将给定的一个字符串转换成整数
时间: 2023-05-17 19:03:17 浏览: 96
好的,以下是一个简单的 C 函数,可以将给定的字符串转换成整数:
```c
#include <stdio.h>
#include <stdlib.h>
int str_to_int(char *str) {
int result = 0;
int sign = 1;
char *p = str;
if (*p == '-') {
sign = -1;
p++;
}
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
result = result * 10 + (*p - '0');
} else {
printf("Invalid input!\n");
exit(1);
}
p++;
}
return sign * result;
}
int main() {
char str[] = "-12345";
int num = str_to_int(str);
printf("%d\n", num);
return 0;
}
```
这个函数首先判断字符串的符号,然后遍历字符串中的每个字符,将其转换成数字并计算出结果。如果输入的字符串不是一个合法的整数,函数会输出错误信息并退出程序。
相关问题
编写一个c函数,该函数将给定的一个字符串转换成整数
好的,以下是一个将字符串转换成整数的示例C函数:
```c
#include <stdio.h>
int str2int(char *str) {
int num = 0, sign = 1, i = 0;
if (str[0] == '-') {
sign = -1;
i++;
}
for (; str[i] != '\0'; i++) {
num = num * 10 + str[i] - '0';
}
return sign * num;
}
int main() {
char str[] = "12345";
int num = str2int(str);
printf("%d\n", num);
return 0;
}
```
这个函数将给定的字符串转换成整数,包括负数和正数。如果你传递给这个函数的字符串不能转换成整数,它将返回0。希望对你有帮助!
请编写一个C 函数,该函数将给定的一个字符串转换成整数。
以下是一个将字符串转换为整数的C函数示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int atoi(char *str)
{
int result = 0;
int sign = 1;
int i = 0;
// 处理空格
while (isspace(str[i])) {
i++;
}
// 处理正负号
if (str[i] == '-' || str[i] == '+') {
sign = (str[i++] == '-') ? -1 : 1;
}
// 处理数字
while (isdigit(str[i])) {
result = (result * 10) + (str[i++] - '0');
}
return sign * result;
}
int main()
{
char str[] = "12345";
int num = atoi(str);
printf("%d\n", num);
return 0;
}
```
该函数首先处理空格,然后处理正负号,最后处理数字并将其转换为整数。函数返回整数值。该函数还使用了 `<ctype.h>` 中的 `isspace()` 和 `isdigit()` 函数来判断字符是否为空格或数字。