收录日期:2018/08/17 01:43:58 时间:2016/05/20 18:27:27 标签:C语言
#include "stdio.h"

main()
{
    int i,num;
    num=2;
    for(i=0;i<3;i++)
    {
        printf("\40: The num equal %d \n",num);
        num++;
        {                        //主要是这对括号,不明白这么能这样用呢?
            static int num = 1;  //又没什么控制结构?
            printf("\40:The internal block num equal %d\n",num);
            num++;
        }
    }
}
还有,程序具体是怎样工作的?

谢谢!
括号有没有一样,主要为了程序更清楚一些。

两个num不同,一个是全局变量,一个局部变量。

程序就是一个简单的for循环。
去掉也可以吗?
我在tc2.0下试了一下,去掉后,程序代码中定义的一段不合法!
另外,还帮我讲讲这句话中的“衣裳”的意思!

《宏定义中允许包含两道衣裳(何谓衣裳?)命令的情形,此时必须在最右边加上"\"》

谢谢!
这是个变量作用域的问题.这个程序演示了变量的作用域.
#include "stdio.h"

main()
{
    int i,num;//这个num也不能说是全局变量,它只作用于main这个函数内.
              //但在下面有一个同名的局部变量num,所以在括号里面,它也不再作用了.
    num=2;
    for(i=0;i<3;i++)
    {
        printf("\40: The num equal %d \n",num);
        num++;
        {                        //这对括号是使里面的程序成为一个局部的程序块.
            static int num = 1;  //设置一个静态的局部变量num,不再是外面的那个num了
                                 //这个num只作用于这括号个面.
            printf("\40:The internal block num equal %d\n",num);
            num++;
        }
    }
}
哦,原来如此!

那“衣裳”做和解释呢?

是不是一层套一层的意思?

谢谢!
在线等待!
这句话,我没见过.
对不起,我也不知道啊.
不知道,楼主是在哪里看到的啊.
那算了,结了,谢谢!