| 
 如题如何解决  | 
|
| 5分 | |
| 5分 | |
| 
 
全局变量吧.. 
 | 
|
| 5分 | |
| 5分 | 
 
同一文件可以static,否则只能全局,这种变量在小程序无所谓,程序大了就要小心 
 | 
| 
 
这么一个程序各种goto,真是醉了,要么加static了return,要么全局变量 
 | 
|
| 5分 | 
 
使用全局变量不会麻烦死人的。 
不使用全局变量也不会爽死人的。  | 
| 
 !要是定义了全局变量,要怎么实现在上一个函数里运算,下一个函数里调用上一个函数运算的值。!  | 
|
| 
 要是定义了全局变量,要怎么实现在上一个函数里运算,下一个函数里调用上一个函数运算的值呢?  | 
|
| 
 
在外部定义,然后作为这两个函数的参数。 
 | 
|
| 
 
如果要使用的变量比较多,建议封装起来做成一个struct,然后定义一个全局的结构体实例,至于是不是static是你的需求而定,这样操作起来就比较方便了。 
 | 
|
| 25分 | 
#include <stdio.h>
int g_var;
void fun1() {
 gvar++;
}
void fun2() {
 gvar*=2;
}
int main() {
 g_var=1;
 fun1();
 fun2();
 printf("%d\n",g_var);
 return 0;
}
 | 
| 20分 | 
 赵老师已经给了这个问题和答案了. 我把赵老师的代码给你注释下 #include <stdio.h>
int g_var;   //全局变量 定义
void fun1() {
 gvar++;   //fun1中计算修改了全局变量, 相当于你计算了一个值, 保存在全局变量中了.
}
void fun2() {
 gvar*=2;  //第二个函数中直接使用这个全局变量, 它不但使用这上一个函数的计算结果, 自己也会计算并保存一个值到全局变量中
}
int main() {
 g_var=1;
 fun1();  //执行完这个, g_var = 2;  内部自加1了
 fun2();  //执行完这个函数  g_var = 4;    内部使用上个函数计算结果2, 然后2*2=4
 printf("%d\n",g_var);  //这里会输出4
 return 0;
}
 | 
| 10分 | |
| 
 
感谢两位的指导,明白了,不过我采用了#15楼的方法。 
 | 
|
 
 在今后的峥嵘岁月中,用心体会我这两句话。  | 
|
| 
 
请牢记:源代码本身的书写是否结构化或面向对象或符合设计模式或敏捷…并不重要,重要的是你是否使用结构化或面向对象或符合设计模式或敏捷…的方法命名标识符、阅读、修改、检查、测试源代码。
 
意思是你程序结构看上去再合理,再简洁,也不一定比看上去一团乱麻的程序结构在运行或修改时更不易出错,更方便修改,出错了更容易找到哪里出错和具体出错的原因,更容易改正错误。 试对比 所以 结构越复杂,越难修改,越难除错。 程序员要做的不是尽力避免错误,而是聚焦在快速发现并改正错误。真正以快速方式轻易解决错误,“快速的失败”远胜过“预防错误”。Fred George  | 
|