高手坐镇(12)

编程学堂

C++一个变量被多个文件引用

题目难度:★★★

读者来信:明年我就要毕业了,我找了一家公司在实习,发现自己学的C语言知识远远不能满足工作需求,于是我开始研究C++。研究过程碰到了很多问题,想请教《电脑报》的高手。我的第一个问题是一个变量如何被多个文件引用?

程序员 故乡的云:嗯,这个问题不算很难。如果多个cpp文件想访问同一个变量,就必须使用关键字extern。extern修饰的变量为外部类型变量(外部变量为全局变量)。我告诉你两种设计方法(假设a.cpp和b.cpp都需要访问变量zhy)。

方法1:在a.h头文件中声明变量zhy为外部变量,在a.cpp中包含a.h后定义变量zhy并使用,在b.cpp中包含a.h后使用变量zhy。关键代码如下所示(完整代码下载地址:http://www.icpcw.com/bzsoft):

//声明zhy变量为外部变量

extern int zhy;

//a.cpp(在a.cpp中定义并使用变量)

{

#include "a.h"//包含头文件

int zhy;

void test01()

{

zhy=10; //对变量进行赋值操作

test02();

//b.cpp(在b.cpp中使用变量)

#include "a.h"//包含头文件

void test02()

{

zhy=zhy+10; //对变量进行赋值操作

方法2:不用头文件,直接在a.cpp中声明外部变量,在b.cpp中定义该变量后使用。

extern int zhy;//声明为外部变量

void test01()

{

zhy=10; //对变量进行赋值操作

test02();

//b.cpp

{

int zhy;

void test02()

{

zhy=zhy+10;

VB数组中缺少空格

题目难度:★★

读者来信:才学VB,编写下题的代码,可发现数字之间没有空格,这是怎么回事?

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

资深教师 李严同:那是因为你把空格漏掉了,在代码中要加入空格。代码如下所示:

public static void main(String args[]){

byte []a = new byte[5];

for ( int i = 0 ,j; i < 5; i++){

a[i] = (byte) (i + 1);

for ( j = 0; j < i; j++){

System.out.print(a[j]+"");

}

System.out.println(a[j]);

网页特效添加为浏览器首页

题目难度:★★★

读者来信:我在研究一些知名网站的网页设计,不过基础不好感觉有点吃力,希望得到高手的指点。我的问题是如何将网站首页变为浏览器的首页,最好多给我几种方式,方便我研究。

程序员 夜魔侠:这种代码熟悉掌握一两种足矣,呵呵!你先研究透我提供的代码吧!

代码1:

表12-代码-1.jpg

代码2:

表12-代码-2.jpg

C语言解释杨辉三角代码

题目难度:★★

读者来信:上课的时候,老师解释了杨辉三角代码的含义,可我们几个上课的时候听得并不认真,导致出现几个版本的代码解释,我们又不好意思问老师,所以冰天雪地跪求帮助!

资深教师 李严同:你们~上课不好好听!我看了你们的解释,哪个版本都不全对,下面是我的解释,记住了。

int i,j,a[N][N];//定义变量

for(i=1;i

a[i][1]=1;

a[i][i]=1;

//循环范围,i行的值要比j列的值多1

for(i=3;i

for(j=2;j<=i-1;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];

//循环控制输出结果

for(i=1;i

{

for(j=1;j<=i;j++)

printf("%6d",a[i][j]);