Онлайн компилятор C

#include <stdio.h> unsigned int convert_to_base(int n, int p){ while (n > 0){ int x = 1; int power_of_10 = 1; for (int i = 1;i < x;i++){ power_of_10 = power_of_10 * 10; { x++ int last = n % p; int digit = last * power_of_10; n = n / p; } int main() { return 0; }
这段代码试图实现一个将十进制数转换为p进制数的函数,但存在多处语法错误和逻辑问题。

- 函数`convert_to_base`的循环结构不完整,缺少右花括号,导致代码无法编译。你需要检查所有花括号的配对,确保每个左花括号都有对应的右花括号。
- 变量`x`和`power_of_10`在循环内部被重复初始化为1,这会导致每次循环都重置它们的值,无法正确累积进制转换的结果。思考一下,在进制转换中,每一位的权重应该如何随着循环次数增加而改变。