关于程序运行结果问题

#include <stdio.h>
void increment()
{
static int x=0;
x+=1;
printf("%d",x);
}
int main ()
{
increment();
increment();
}

1
2

#include <stdio.h>
void increment()
{
    static int x=0;
    x+=1;
    printf("%d\n",x);
}
int main ()
{
    increment();
    increment();
    return 0;
}

运行结果:

12

运行结果:12
static变量保留函数调用后更新的数值
第一次调用increment()函数,x初始值为0,加一x的值为1,值保留
第二次调用increment()函数,x初始值为1,加一x的值为2。
两次函数调用中间没有分隔符,输出也没有分隔符,所以运行结果12。