c程入门,有两行代码不理解

问题遇到的现象和发生背景

“求1-1/3+1/5-1/7+……的前n项和”

问题相关代码,请勿粘贴截图

答案是这个:
#include
int main(void)
{
int i, n, flag, denominator;
double item, sum;
printf("Enter n:/n");//有疑问
scanf("%d", &n);
flag = 1;
denominator = 1;
sum = 0;
for (i = 1; i <= n; i++)
{
item = flag * 1.0 / denominator;
denominator = denominator + 2;
flag = -flag;
sum = sum + item;
}
printf("sum=%f\n", sum);//有疑问
return 0;
}

我的问题

在源代码中标粗的两行不明白
都是printf(“ ”)
为什么第二个有逗号有sum,第一个只有输入?
是不是因为第一个printf下一句的scanf取了地址所以不用在printf里说明?

printf()函数的调用格式为:printf("<格式化字符串>", <参量表>);
格式控制字符串,包含了两种类型的对象:普通字符和转换说明
在输出时,普通字符将原样不动地复制到标准输出。
转换说明并不直接输出而是用于控制 printf 中参数的转换和打印。每个转换说明都由一个百分号字符(%)开始,以转换说明结束,从而说明输出数据的类型、宽度、精度等。
附加参数表根据不同的格式化字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换格式化字符串参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。
上面的代码里,第一个printf("Enter n:/n"); 里,格式控制字符串只包含了普通字符,所以在输出时,普通字符将原样不动地复制到标准输出。
第二个printf("sum=%f\n", sum);里,格式控制字符串,包含了两种类型的对象:普通字符和转换说明,格式化字符串参数中指定了一个 % 标签转换说明,所以后面参数表里对应一个参数即变量 sum。

学习一下这个
https://www.runoob.com/cprogramming/c-function-printf.html

????
printf是用于输出的啊?
printf("你想在控制台打印的语句")
它会将小括号里面的语句输出在控制台

printf("<格式化字符串>", <参量表>)
当你想打印语句:
我想输出1
你可以这样写:printf("我想输出1")
但是这是固定的输出,你想将 我想输出1 中的 1 不固定,它可以是2,或者3的时候,你咋写,这个值你可以用一个变量去格式化它

你先定义一个变量 sum,并且赋值为1
printf("我想输出%d", sum)
那他输出的就是 我想输出1
当你的sum值为2,输出的就是 我想输出2