【发布时间】:2015-01-19 19:39:48
【问题描述】:
刚开始掌握 c 编程的技巧,但我正在尝试创建一个函数,可以计算从给定基数到十进制格式的数字。 (base_to_int)
例如, digits1[] = {2, 3, 4, 5} 以 10 为底 = 5432 和 digits2[] = {5, 6, 7} 以 8 为底 = 501
看起来当我尝试运行 for 循环时,它似乎没有计算它,并且我不断获取数组中的最后一个数字(对于digits1,我不断得到的输出的答案是“ 5")...
为什么我不能在数组中运行 for 循环?
代码:
ndigits = 数组中的位数,digits = 数组,base = 数组编号所在的基数。
int base_to_int(int ndigits, int* digits, int base)
{
for (int n = 0 ; n <= ndigits - 1 ; n++)
{
int a = digits[n];
return a * pow(base,n);
}
}
对于这段代码,我在尝试编译时不断得到输出“2”。
【问题讨论】: