1.在一個文件中定義一個全局變量n,主函數main(),在另一個文件中定義函數fn1(),在main()中對n賦值,再調用fn1(),在fn1中也對n賦值,顯示n最后的值。
2。在函數fn1()中定義一個靜態變量n,fn1()中對n的值加1,在主函數中,調用fn1()十次,顯示n的值
11 个解决方案
1)
//f.h
int n;
void fn1();
//f.cpp
void fn1()
{
n = 20;
}
//mani.cpp
int main(int argc, char *argv[])
{
n = 30;
fn1();
printf("n is %d\n", n);
return 0;
}
2)
void fn1()
{
static n = 20;
n++;
printf("n is %d", n);
}
int main(int argc, char *argv[])
{
for (int i = 0; i < 10; i++)
{
fn1();
}
return 0;
}
/*******************************
* file.h
*******************************/
extern int n;
void fun()
{
n = 100;
}
/******************************
* file.cpp
******************************/
#include <iostream>
#include "file.h"
using namespace std;
int n;
void fun();
int main()
{
n = 1;
fun();
cout << n << endl;
return 0;
}
1, main,fun1都修改了n值,結果是fn1修改后的值。(在同一個文件下的結果)
2,結果是n十次累加的結果。
#include <iostream>
using namespace std;
void fun()
{
static int n = 0;
n ++;
cout << n << endl;
}
int main()
{
for (int i = 0; i < 10; i ++)
{
fun();
}
return 0;
}
//a.cpp
#include <iostream>
using namespace std;
extern int n = 0;
extern void fn1();
int main()
{
n = 100;
cout << n << endl;
fn1();
cout << n << endl;
}
//b.cpp
extern int n;
extern void fn1()
{
n = 99;
}
///////////////////////////////////////////////////////////////////////