首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

小题求速解!该如何处理

2012-03-05 
小题求速解!#includestdio.h#includestdlib.hmain(){inti,numnum2for(i0i 3i++){printf( \40:

小题求速解!
#include   <stdio.h>
#include   <stdlib.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++;
                    }
                    }
  system   ( "PAUSE ");
  return   0;
}
有谁能帮忙说一下以上这个程序中num到底是怎么处理的。

[解决办法]
int i,num;
num=2;
for(i=0;i <3;i++)
{
// 这里用的num是for前面的那个num
printf( "\40: The num equal %d \n ",num);
num++;
//

{

static int num=1; // 这对大括号{}里用的num是这个static int num
printf( "\40:The internal block num equal %d\n ",num);
num++;
}
}
system ( "PAUSE ");
return 0;
}

[解决办法]
#include <stdio.h>
#include <stdlib.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++;
}


}

system ( "PAUSE ");
return 0;
}

[解决办法]
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,num;
num=2;
for(i=0;i <3;i++)
{
printf( "\40: The num equal %d \n ",num); // 这的num是for循环外的num,在整个程序中多能使用,
num++;
{
static int num=1; // 这个num是for循环内定义的,且只在for循环的static int num=1;这条语句后使用,在使用这个num的时候,第一个num 将被屏蔽掉。
printf( "\40:The internal block num equal %d\n ",num);
num++;
}
}
system ( "PAUSE ");
return 0;
}

热点排行