怎么将10进制转化为8进制用C语言表示
时间: 2024-09-28 15:03:49 浏览: 33
在C语言中,可以使用`itoa()`函数或者自定义函数结合循环来将10进制整数转换为8进制字符串。这里是一个简单的示例,使用了`sprintf()`函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 自定义函数将10进制转8进制字符串
char* decimal_to_octal(int num) {
char octal[32]; // 假设最大8进制数不超过31位
int i = 0;
while(num > 0) {
octal[i++] = '0' + num % 8; // 把余数转换为字符并添加到字符串
num /= 8; // 更新num为下一位
}
if(i == 0) {
octal[0] = '0'; // 如果原数是0,则添加'0'
} else {
octal[i] = '\0'; // 添加结束符
}
return octal;
}
int main() {
int decimal = 67;
char* octal_str = decimal_to_octal(decimal);
printf("十进制 %d 转换成8进制为: %s\n", decimal, octal_str);
free(octal_str); // 释放内存
return 0;
}
```
运行此程序,会输出 `十进制 67 转换成8进制为: 107`。
阅读全文