用C语言怎么用字符串数组输入之后又转为整数类型
时间: 2024-10-09 20:00:57 浏览: 38
在C语言中,将用户通过字符串数组输入的字符转换为整数通常涉及到`atoi()`函数或者自定义的`strtol()`函数,因为这两个函数可以解析ASCII表示的十进制数字字符串。这里是一个简单的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义版的int转换字符串函数
int string_to_int(const char *str) {
int result = 0;
int sign = 1; // 正负标志,默认正
if (*str == '-') { // 检查开头是否为负号
str++;
sign = -1;
}
while (*str >= '0' && *str <= '9') { // 遍历字符串直到遇到非数字字符
result = result * 10 + (*str - '0'); // 结果加上当前数字
str++; // 移动指针到下一个字符
}
return sign * result; // 返回结果并考虑负号
}
int main() {
char input[100];
printf("请输入一个整数:");
fgets(input, sizeof(input), stdin); // 使用fgets获取用户输入并包含换行符
input[strcspn(input, "\n")] = '\0'; // 去除换行符
int num = string_to_int(input);
printf("转换后的整数是:%d\n", num);
return 0;
}
```
在这个示例中,我们首先读取用户的输入,然后使用自定义的`string_to_int()`函数将其转换为整数。请注意,这个版本的函数假设输入是有效的整数。
阅读全文