不了解scanf的返回值

opu*_*u 웃 2 c

我有以下C程序,我不明白返回值scanf.

#include <stdio.h>

int main()
{
    int p,n1,n2;

    p=scanf("%d %d",&n1, &n2);

    printf("%d", p);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

p从中分配返回值scanf.
当我为n1和提供值时n2,值p总是为2.我不明白为什么值总是2,无论我提供什么数字n1n2.

DFo*_*ord 9

scanf 返回读取的值的数量,在您的情况下为2.

  • @Scotia`scanf`返回*读取值*的**值**而不是值本身. (2认同)