一个C语言文件调用问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 22:44:35
文件 file1.cpp
#include<stdio.h>
#include"file2.cpp"
#include"file3.cpp"
int i=1;
next()
{
return(i++);
}
main()
{
int i,j;
i=reset();
for(j=1;j<=3;j++)
{
printf("i=%d\tj=%d\t",i,j);
printf("next()=%d\t",next());
printf("last()=%d\t",last());
printf("new(i+j)=%d\t",new(i+j));
printf("\n");
}
}
文件 file2.cpp
static int i=10;
last()
{
return(i-=1);
}
new(int i)
{
static int j=5;
return(i=j+=++i);
}
文件 file3.cpp
extern int i;
reset()
{
return i;
}
在new(int i)上执行结果为:
declaration was expected
把new改成new1后,
执行结果为:
extra parameter in call to new1() in function main()
在int i=1; 语句上执行结果为:
multiple declaration for 'i'

new 是 C语言的关键字,不能用作函数名

i 作为全局变量只能定义一个

static int i 和 int i 重复定义了

看不通呀~~!
输出应该是 :
i=1j=1i=1j=2i=1j=3
next()=1
last()=1
new(i+j)=4
呀~!~!
怎么会是那个呢 ?

函数先声明一下

对。