为什么在编译此C代码时收到“预期表达式”错误

如何获得此代码以拒绝负数(以浮点数的形式)?这是CS50问题集一的一部分吗?尝试编译时,在“ n = get_int(%n,提示”中生成错误。

#include <cs50.h>
#include <stdio.h>

//prompts user to submit amount of change
int get_positive_float(string prompt); 
int main(void)
{
    float change = get_positive_float("Change owed: ");
    printf("%.2f\n", change);
}

//ensures user submits a positive number
int get_positive_float(string prompt)
{
    int n;
    do
    {
        n = get_int(%n, prompt);
    }
    while (n < 0);
    return n;
}