【发布时间】:2021-12-07 02:29:42
【问题描述】:
我们获得了将十进制转换为二进制和八进制的源代码。这是我将使用函数 Dec2BinOct() 来返回转换后的十进制值的源代码。
#include<stdio.h>
int main()
{
unsigned long n, place=1, bin=0, r, o=0, place2=place;
printf("Conversion: Decimal to binary and octal.\n");
printf("Enter number: ");
scanf("%lu", &n);
printf("%lu is ", n);
for(unsigned long g = n; g != 0; place = place * 10) {
r = g % 2;
bin = bin + (r * place);
g = g / 2;
}
printf("%lu in Binary Form. \n", bin);
printf("%lu is ", n);
while (n != 0) {
o = o + (n % 8) * place2;
n = n / 8;
place2 = place2 * 10;
}
printf("%lu in Octal Form.\n\n", o);
return 0;
}
我们的任务是为我们的作业应用函数,并且需要使用前面所述的函数 Dec2BinOct(),但我们的老师告诉我们这是最低要求的函数。经过这么多尝试,我似乎没有得到正确的程序。我只是需要一些帮助,这是明天到期的。感谢您的所有帮助
【问题讨论】:
-
C 中不存在多值的概念,你可以使用一些你列举的结构来实现它。
-
为了返回多个值,您需要指针(作为函数的参数或作为返回类型,如果它们有足够长的生命周期),或者是一个结构(通过值作为返回类型,或通过引用作为函数的参数)。
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
-
Dec2BinOct函数到底是什么?我们无权访问您的家庭作业。
标签: c function return-value return-type