c语言设计一个子函数,将任意一个八进制数据字符串转换为十进制数据,并在主函数中调用此函数。
时间: 2024-05-13 14:17:29 浏览: 105
C语言实现进制转换函数的实例详解
可以参考以下的代码:
```c
#include <stdio.h>
#include <string.h>
// 将八进制字符串转换为十进制数
int octToDec(char str[]) {
int len = strlen(str);
int result = 0;
for(int i = 0; i < len; i++) {
result = result * 8 + (str[i] - '0');
}
return result;
}
int main() {
char octStr[20];
printf("请输入一个八进制数:");
scanf("%s", octStr);
int dec = octToDec(octStr);
printf("转换后的十进制数为:%d\n", dec);
return 0;
}
```
在此代码中,我们定义了一个名为 `octToDec` 的子函数,用于将八进制字符串转换为十进制数。该函数的实现方式是从字符串的左侧开始,依次将每个字符转换为数字并乘以相应的权值,最后累加得到结果。
在主函数中,我们首先读取一个八进制字符串,然后调用 `octToDec` 函数将其转换为十进制数,并输出转换结果。
阅读全文