c语言简单输出问题,求指导

#include <stdio.h>
#include <stdlib.h>
main ()
{
    int a=6,b=7;
    printf("%d,%d\n",a,b);
    {
        int b=10;
        printf("%d,%d\n",a,b);
    }
    printf("%d,%d\n",a,b);
}

输出结果是:6,7 6,10 6,7
我不明白为什么打三个输出是6,7
求指导,自学c语言,没有老师问

你有三次输出啊
第一个输出的时候你定义的a=6,b=7,输出的a和b就是6,7
第二次输出的时候你重新定义了b=10,a没有重新定义,所以输出结果是6,10
第三次输出的时候,第二次你重新定义的那个b已经结束了,所以输出的结果还是和第一次的一样,是6,7

你第二对大括号内的变量b的作用域只到括号的结束,影响不到第三次输出,第三次输出的变量b还是刚开始的那个变量b,值并没有变。

一句话帮助你理解,因为在{int b = 10;}内部的b将外面的b = 7屏蔽掉了,所以在{}内部的输出是内部b的值,其他的照常。

你可以看看变量范围的问题,很基本的 。
另外我感觉你的输出格式不怎么样。
不过初学者,都是这样,以后注意一下就好了。