scanf返回值与预期不符

PRP*_*PRP 2 c scanf return-value

Scanf应该返回输入的字符数... 但奇怪的是一直只返回1.

scanf ("%d",&num_test_cases);   

for (i=0;i<num_test_cases;i++)
{
    level=scanf ("%s",ch);
    printf ("\n %s\n",ch);
    printf ("%lld\n",level);

}
Run Code Online (Sandbox Code Playgroud)

样本输入:

4
lrl
rll
r
lllr
Run Code Online (Sandbox Code Playgroud)

输出:

lrl
1
rll
1
r
1
lllr
1
Run Code Online (Sandbox Code Playgroud)

Am_*_*ful 8

在C中,scanf()返回成功读取的项目数...实际上,printf()返回成功写入输出的字符数!

因此,由于您的scanf每次迭代只接受1个输入,因此,level程序中的变量在每次迭代时返回1!