我对C编程和stackoverflow很新。我明天有一个中期,我在学习的时候遇到了这个问题。对于格式方面的错误,请接受我最深切的歉意。整数指针
问题:编写一个名为:divide的函数,它包含两个整数和一个整数指针。该函数应将第一个整数除以第二个整数,并将结果作为整数返回,并将余数放入由整型指针参数给出的地址中。
给定的主代码读取两个整数:a,b,并创建两个没有初始化的整数:res,rem。完成函数调用,以便res变量变为a/b,rem变量成为调用后的余数。
例子:
Input 12 5 Output 2 2
Input 57 7 Output 8 1
的代码,我写的是:
int divide (int a , int b);
int divide (int a , int b)
{
int res;
int rem;
res = a/b;
rem = a - res * b ;
return res, rem;
}
int main(void)
{
int a,b;
scanf("%d%d", &a, &b);
int res, rem;
res = divide(a,b);
printf("%d %d", res, rem);
return 0;
}
当我跑,我得到正确的价值观为资源,但REM总是等于零。我如何使用整数指针rem值? 在此先感谢。
*“一个带有两个整数和一个整数指针的函数”* - 你的函数只需要两个整数。在C语言中,当你需要返回多于一个原始值时,你可以定义一个'struct'来存放这些值,或者通过指针参数返回一个或多个值。 Tldr;你的函数原型应该是'int divide(int a,int b,int * rem)'。 – Groo
您可以使用标准函数[div](http://en.cppreference.com/w/c/numeric/math/div)而不是您的'divide'。你不应该做一些已经存在的东西。 – BLUEPIXY
在C中,您只能返回一个值。 –