它如何为下面的代码提供恒定输出?

1 c printf pointers

#include <cstdio>

using namespace std;

int main() 
{
        int i,a;
        printf("%d",printf("PRINT %d\t",scanf("%d %d",&i,&a)));
        return 0; 

}
Run Code Online (Sandbox Code Playgroud)

这段代码给出了输出

PRINT 2 8
Run Code Online (Sandbox Code Playgroud)

我想知道它是如何为输入的任何数字提供相同的输出.我是新用户,对不起,如果我错了.谢谢.

nos*_*nos 6

这段代码与

int main() 
{
        int i,a;
        int p, s;
        s = scanf("%d %d",&i,&a);
        p = printf("PRINT %d\t",s)
        printf("%d", p);
        return 0; 

}
Run Code Online (Sandbox Code Playgroud)

scanf返回分配的项目数.在你的情况下2个变量,如果成功.

然后打印字符串"PRINT 2\t".

printf 返回写入的字符数,在这种情况下为8.

然后你打印那个数字,8.这意味着你的程序的所有输出都是"PRINT 2\t8"