把输入字符数组的整数元素变为十进制数C语言
时间: 2024-09-18 15:19:01 浏览: 46
将无符号的八进制字符串转换为十进制整数。-c语言教程
在C语言中,将输入的字符数组转换为整数需要经过几个步骤。首先,我们需要确定字符数组中存储的是正数、负数还是0,因为它们的表示形式不同。然后,我们遍历数组,累加每个字符对应的数值。以下是基本的过程:
```c
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h> // 包含处理字符函数
// 函数用于将字符串转换为整数
int str_to_int(char *str) {
int num = 0;
int sign = 1; // 正数标志,默认为1
if (*str == '-') { // 检查是否为负数
sign = -1;
str++; // 移动指针到第一个数字
}
while(*str != '\0') { // 遍历直到遇到结束符
if(isdigit(*str)) { // 如果是数字字符
num *= 10; // 将当前值乘以10以便添加新的数字
num += (*str - '0'); // 数字字符减去'0'得到实际数值并加到num上
} else {
break; // 非数字字符,退出循环
}
str++; // 移动指针到下一个字符
}
return sign * num; // 返回最终结果,包括负号
}
int main() {
char input[] = {'-', '1', '2', '3', '4', '\0'}; // 示例输入字符数组
int decimal_num = str_to_int(input);
printf("Decimal number: %d\n", decimal_num);
return 0;
}
```
阅读全文