读书人

小题求速解!该如何处理

发布时间: 2012-03-05 11:54:02 作者: rapoo

小题求速解!
#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;
}

读书人网 >C语言

热点推荐