【发布时间】:2012-10-17 14:07:33
【问题描述】:
我正在尝试缩短主要功能。我需要回答一些问题(每行代码,在每个问题中,我需要使用在 main 中声明的变量) 但是使用函数,我知道如何使用的方式,不会有用,因为我需要在每个问题中使用很多变量,不同类型,而不是数组。 对不起我的英语,很难解释我需要什么。
这是我的代码与伪代码混合(简化)
int
main(void)
{
int x = 4;
int y = 5;
float z = 6.8; // And lot of more variables like this
answer_1; //pseudocode
answer_2:
return 0;
}
// 在 answer1 中有很多 printf 显示变量 x、y、z.... 等的值
// 在 answer1 中有很多 printf 显示变量 t、i、l.... 等的值)
【问题讨论】:
-
“我需要在函数内部使用 Main 中声明的变量。” - 等等,这不正是函数参数的用途吗?
-
将那个或那些变量带到 main 的主体之外,作为
static int x = 4;。至少这样,它们的可见性仅限于当前编译单元(文件),而不是在整个项目中可见的全局变量。然而,即使是静态变量,一个比x更能说明问题的变量名也可能是一个好主意。 -
考虑使用结构和/或数组来减少要传递的参数数量。
-
@pmod 这是一个很短的主函数,我猜它甚至没有返回承诺的返回值..
-
@jotape 只需使用函数并传递参数。如果您有类似于全局选项的变量(例如解析的命令行参数),那么制作这些全局变量是非常好的做法。