我正在尝试使用此函数,要求用户输入(以美分为单位),然后将该值传递到函数外部。
int get_cents()
{
int change;
do
{
change = get_int("How many cents?\n");
}
while (change <= 0);
printf("%d", change);
return (change);
}
我将 printf 语句放在那里来检查变量更改确实被分配了用户输入的值,但是当我尝试返回它时(无论是 return 0 还是 return (变量名) 并尝试将其传递回来对于这个变量:
int cents = get_cents();
结果总是0。为什么?
在这里,您不需要使用 get_int 函数。 C 库中确实存在函数。该函数称为 scanf,属于 stdio 库。
程序的基本代码,会询问美分并获取用户输入的数字:
int get_int(int cents)
{
printf("How many cents?\n");
scanf("%d", ¢s);
return cents;
}
之后你基本上可以创建一个主函数来显示用户拥有的美分数(不要忘记声明一个变量来保存上一个函数的返回值)
int main(void)
{
int cents = 0;
while (cents <= 0)
get_cents(cents);
printf("You entered %d cents.\n", cents);
return 0;
}
这段代码应该可以工作,如果解释不好,抱歉,这实际上是我第一次在SO上发帖。