C语言设计一个子函数,将任意一个八进制数据字符串转换为十进制数据(整数),并在主函数中调用此函数。
时间: 2024-05-16 16:18:11 浏览: 123
C语言实现字符串转十进制算法
可以使用以下代码实现:
```c
#include <stdio.h>
#include <string.h>
int octalToDecimal(char octal[]) {
int decimal = 0;
int length = strlen(octal);
for (int i = 0; i < length; i++) {
int digit = octal[i] - '0';
decimal = decimal * 8 + digit;
}
return decimal;
}
int main() {
char octal[100];
printf("请输入一个八进制数:");
scanf("%s", octal);
int decimal = octalToDecimal(octal);
printf("转换为十进制数为:%d\n", decimal);
return 0;
}
```
首先定义一个 `octalToDecimal` 函数,它接受一个八进制字符串,将其转换为十进制整数并返回。在函数中,我们遍历八进制字符串的每一位数字,将其乘以 8 的幂次方然后加起来,最终得到十进制整数。
在主函数中,我们首先读入一个八进制字符串,然后调用 `octalToDecimal` 函数将其转换为十进制整数,并输出结果。
阅读全文